SlideShare a Scribd company logo
SQL Azure from Plan, to Backup, to Cloud
– Red Gate Cloud Services
Tobiasz Janusz Koprowski
SQL Server MVP, FORG+
Vielen Dank an die Volunteers!
13.07.2013 |
Große Verlosung!
 Am Ende der Veranstaltung (ca. 18:00 Uhr)
 Gewinnt viele Preise!
 Deshalb:
13.07.2013 |
Besucht unsere Sponsoren!
Unsere „You Rock! “ Sponsoren
13.07.2013 |
Vielen Dank an all unsere Sponsoren!
13.07.2013 |
Gold
Silber
Bronze
Media Sponsoren:
13.07.2013 |
Hands-on event: PASS Camp 2013!
13.07.2013 |
ABOUT ME
 Polish SQL Server User Group Leader
 Microsoft Certified Trainer (MCP, MCSA, MLSS, MLSBS, MCTS, MCITP)
 SQL Server MVP (four years in a row)
 Blogger, Influencer, Technical Writer
 Last 8 years living in Data Center in Wrocław
 Generally about 14 years in IT/banking area
 Speaker at SQL Server Community Launch, Time for SharePoint,
CodeCamps, SharePoint Community Launch, CISSP Day, SQL in
the City, InfoTRAMS, SQL Bits, SQL Saturday, CareerCon,
Sharepoint & SQL Connection, IT Camp…
 Deep Dives Co-Author:
High availability of SQL Server in the context
of Service Level Agreements (Chapter 18th)
AGENDA
 PART ONE: SQL Azure
Plan, Compability
 PART TWO: Cloud Services
Backup and Restore,
Synchronize and Schedule
 APPENDIX: additional links
PART ONE: SQL Azure Database
Short Introduction
• Windows Azure
Compute:
Virtualized compute environment based
on Windows Server
Storage:
Durable, scalable, & available storage
Management:
Automated, model-driven management of the service
• SQL Azure (cloud-based database)
Database:
Relational processing for structured/unstructured data
• App Fabric (.NET services)
Service Bus:
General purpose application bus
Access Control:
Rules-driven, claims-based access control
Security Requirements for Azure Platform
As a Service Provider Microsoft has an obligation to passing the several rules for security:
• ISO/IEC 27001:2005
• SAS 70 Type 1 and II
Also they passing (continuisly) several data securing audits:
• PCI DSS
• SOX compliance
• HIPAA compliance
And of course requirements for Data Centers:
• Physical security of the data centers (locks, cameras, biometric devices, card readers,
alarms)
• Firewalls, application gateways and IDS to protect the network
• Access Control Lists (ACLs) applied to virtual local area networks (VLANs) and
applications
• Authentication and authorization of persons or processes that request access to data
• Hardening of the servers and operating system instances
• Redundant internal and external DNS infrastructure with restricted write access
• Securing of virtual machine objects
• Securing of static and dynamic storage containers
PART ONE: SQL Azure
We want to work with SQL Azure (oops SQL Database)
 Size does it matter?
 Personal: 1GB, 5GB
 Business: 10GB, 20 GB, 30 GB, 40 GB, 50 GB, 100 GB, 150 GB (3x50)
 “Private”: less than 100 MB ($4.995 / month)
 Version does it matter?
 10.25 my first experience, but after July 2011 Service Release…
 11.00 now > close to SQL Server 2012
 Collation does it matter?
 default collation: SQL_Latin1_General_CP1_CI_AS
 table level collation
error msg 40544:
The database has reached its size quota. Partition or delete data,
drop indexes, or consult the documentation for possible resolutions.
PART ONE: SQL Database
 Naming, Logins, Users
 Admin, administrator, guest, root, sa
 Data Migration Support
 You can use:
 SQL Server 2008 Integration Services (SSIS)
 The bulk copy utility (BCP.exe)
 System.Data.SqlClient.SqlBulkCopy class
 Scripts that use INSERT statements to load data into the database
 SQL Data Compare from Red Gate
 You can't use:
 The RESTORE statement.
 Attaching a database to the SQL Database server.
 No SQL Server Agent
 No SQL Server jobs
 No SQL Server Browser
 No Cross Database queries
PART ONE: SQL Database
Indexes, of course indexes
 You MUST use CLUSTERED INDEX with your (Azure) SQL Database.
 Heap tables are not supportes, so You MUST create CLUSTERED INDEX before
INSERT will be executed
error msg 40054:
Tables without a clustered index are not supported in this version of
SQL Server. Create a clustered index and try again.
CREATE TABLE Source (Id int NOT NULL IDENTITY,
[Name] nvarchar(max),
CONSTRAINT [PK_Source] PRIMARY KEY CLUSTERED
(
[Id] ASC
))
PART ONE: SQL Database
Closed connections to the service… by the service
Because of multi-tenant :
 Excessive resource usage
 Connections that have been idle for 30 minutes or longer (Program
assuming your connection is going to fail)
 Failover because of server failures
errors:
40197, 40501, 40544, 40549, 40550, 40551,
40552, 40553, and 40613
Hardware Boundary
Hardware Boundary
Hardware Boundary
Hardware Boundary
Shared Environment
BC
D
A A
B
B
C
CD
D
A
Sample of SQL Compability
In Scope for v1
 Constants
 Constraints
 Cursors
 Index management and rebuilding indexes
 Local temporary tables
 Reserved keywords
 Stored procedures
 Statistics management
 Transactions
 Triggers
 Tables, joins, and table variables
 Transact-SQL language elements such as
 Create/drop databases
 Create/alter/drop tables
 Create/alter/drop users and logins
 and so on.
 User-defined functions
 Views
Out of Scope for v1
 Common Language Runtime (CLR)
 Database file placement
 Database mirroring
 Distributed queries
 Distributed transactions
 Filegroup management
 Global temporary tables
 Spatial data and indexes
 SQL Server configuration options
 SQL Server Service Broker
 System tables
 Trace Flags
 Physical server or catalog DDL and views
SQL Server 2005 {9.0} NON-Compability
 Common Language Runtime (CLR) and CLR User-Defined Types
 Database Mirroring
 Service Broker
 Table Partitioning
 Typed XML and XML indexing is not supported. The XML data type is supported by
SQL Azure.
SQL Server 2008 {10.0} NON-Compability
 Change Data Capture
 Data Auditing
 Data Compression
 Extended Events
 External Key Management / Extensible Key Management
 FILESTREAM Data
 Integrated Full-Text Search
 Large User-Defined Aggregates (UDAs)
 Large User-Defined Types (UDTs)
 Performance Data Collection (Data Collector)
 Policy-Based Management
 Resource Governor
 SQL Server Replication
 Transparent Data Encryption
SQL Server 2008 R2 {10.50} NON-Compability
 SQL Server Utility
 SQL Server PowerShell Provider
 Master Data Services
SQL Server Management Studio does not
support Windows Azure SQL Database in
versions prior to SQL Server 2008 R2
Connection Model
When writing applications for SQL Azure, you can use the following drivers and libraries:
 .NET Framework Data Provider for SQL Server (System.Data.SqlClient) from the .NET
Framework 3.5 Service Pack 1.
 SQL Server 2008 Native Client ODBC driver.
 SQL Server 2008 Driver for PHP version 1.1.
 SQL Azure supports tabular data stream (TDS) protocol client version 7.3 or later.
Earlier versions of TDS protocol are not supported.
 Connecting to SQL Azure by using OLE DB is not supported.
 Support for ASP.NET controls
 Clients connect directly to a database
‒ Cannot hop across DBs (no USE)
Scenarios for V1
• Departmental Applications
‒ Simple application built by individual or department
‒ Need simple deployment, self-management, IT: “Empowerment and Governance”
• Web Applications
‒ Small business or startup that uses the cloud as their IT
‒ Simple deployment, self-management, scale on demand
• ISV
‒ ISV hosting software on behalf of customer
‒ Multi-tenant support for billing and isolation
• Data Hub (Shortly After V1)
‒ Sharing and aggregating of data across tiers and across enterprises
‒ Centralized place for data, high scale, sync with existing data sources
PART ONE: SQL Database
Point of Difference On-premise SQL Server Windows Azure SQL Database
Where you manage server-level security
The Security folder in SQL Server
Management Studio'sObject Explorer
The master database
Server-level security role for creating logins securityadmin fixed server role
loginmanager database role in the master
database
Commands for managing logins
CREATE LOGIN CREATE LOGIN
ALTER LOGIN ALTER LOGIN
DROP LOGIN DROP LOGIN
(There are some parameter limitations and you
must be connected to the master database)
View that shows all logins
sys.syslogins (sys.sql_logins for SQL Server
authentication logins)
sys.sql_logins
(You must be connected to
the master database)
Server-level role for creating databases dbcreator fixed database role
dbmanager database role in the master
database
Command for creating a database CREATE DATABASE
CREATE DATABASE
(There are some parameter limitations and you
must be connected to the master database)
Dropping databases DROP DATABASE
DROP DATABASE
If a user is in the dbmanager role, they have
permission to DROP any database, regardless
of which user originally created it.
View that lists all databases
sys.databases sys.databases
(view)
(You must be connected to
the master database)
25 |
PART ONE: SQL Database
FEDERATIONS
 One or more tables within a database are split by row and portioned across multiple
databases (federation members) /sharding/
 A federation is a collection of database partitions that are:
 defined by a federation distribution scheme, known as the federation scheme.
 federation scheme defines a federation distribution key,
(which determines the distribution of data to partitions within the federation)
 federation distribution key must be an INT, BIGINT, UNIQUEIDENTIFIER, or VARBINARY
 only one federation scheme and one federation distribution key for a federation.
 Scale up and out
 10K records > 1DB >> INSERT, INSERT > 10M records
 10K records > 10K max / DB >> INSERT, INSERT >> 100DB each 10K
 Partitioning:
 Horizontal / per row
PART ONE: SQL Database
Logical model for federations
PART ONE: SQL Database
Pmodel for federations
PART ONE: SQL Database
Adventure…
… of course Adventure Works 2012 for SQL Database
 Adventure Works for SQL Server 2012
 Release date: March 2012
 Adventure Works for SQL Azure
 Release date: April 2012
PART ONE: Azure SQL Database
SHORT DEMO…
PART TWO: Cloud Services
PART TWO: Cloud Services
 What is Cloud Services from Red Gate?
 Suite of tools to help managing cloud services
 Came out of SQL Azure Backup
 Launched in Feb 2012 – continually developing
 Contain different, but integrated features
 Set up SQL Azure backup/restore
 Back up/Restore your Blob storage
 Back up/Restore Azure table
 Flexible scheduling
 Receive automated emails after each job
 Quickly review your job
 Control how your SQL Azure backups are named
PART TWO: Backup and Restore
 Backup to Azure Blob Storage or Amazon S3
 Format is a .bacpac
 Zip file containing xml schema and json data
 Permissions needed for a transactional backup
 dbmanager and dbo
 ( CREATE DATABASE x AS COPY OF y)
 To export to bacpac file
 dbo
APPENDIX: links & demos
Most Important Article (in my private opinion)
http://bit.ly/WIHlDL
Authors: Conor Cunningham, Tobias Ternström, Silvano Coriani, Ewan Fairweather
Contributing Author: Ralph Squillace
MSDN SQL Database District
Windows Azure SQL Database (formerly SQL Azure) | http://bit.ly/H0Wdfx
 What's New in Windows Azure SQL Database (formerly SQL Azure)
 Backward Compatibility in Windows Azure SQL Database
 Known Issues in Windows Azure SQL Database
 Introducing Windows Azure SQL Database
 Tutorials
 Feedback and Community Information
 Windows Azure Platform Management Portal
 Windows Azure SQL Database Concepts
 Administration
 Development
 Guidelines and Limitations
 Management REST API Reference
 Transact-SQL Reference
 Errors and Exceptions Reference
APPENDIX: additional links
 Red Gate Cloud Ready Services
 http://cloudservices.red-gate.com/
 General Guidelines and Limitations (Windows Azure SQL Database)
 http://bit.ly/11wB6cK
 Adventure Works for SQL Database (formerly SQL Azure)
 http://bit.ly/125s0W0
 Federations: Building Scalable, Elastic, and Multi-tenant Database Solutions
http://bit.ly/ZxzjmQ | http://bit.ly/15GzIEE
 Error Messages (Windows Azure SQL Database)
 http://bit.ly/17tnQtE
 Compare SQL Server with Windows Azure SQL Database
 http://bit.ly/15RyB5u
AFTER SESSION
CONTACT:
 MAIL: KoprowskiT@windowslive.com
 MSG: KoprowskiT@windowslive.com
 KYPE: tjkoprowski
 TWITTER/FACEBOOK/LINKEDIN: KoprowskiT
BLOGS:
 ITPRO Anorak’s Vision: http://itblogs.pl/notbeautifulanymore/
 Volume Licensing Specialites: http://koprowskit.eu/licensing/
 My MVP Blog: http://koprowskit.eu/geek/
NEXT SESSIONS
Start Time 12:00 PM
Azure & Big Data: Room 5
Stephan Pepersack
The Cloud OS - A holistic view on Microsoft Server Technologies
Business Intelligence: Room 3
Ruben Pertusa & Paco Gonzalez
Social Text, Sentiment and Tone Analysis
Database Administration: Room 1
Andreas Wolter
SQL Server under Attack - Angriffsszenarien
Database Development: Room 2
Dennis Traub
DDD und relationale Daten - Ein Widerspruch?
Openness: Room 4
Marcel Franke
Big Data - Hype or Reality?
VIELEN DANK
Q & A

More Related Content

PPTX
Microsoft SQL Azure - Building Applications Using SQL Azure Presentation
PDF
KoprowskiT_SQLSoton_WADBforbeginners
ODP
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
PPTX
SQL Server Developer 70-433
PPT
DOSUG Tech Overview of XAware
PPT
Overview Of Xaware
PDF
Azure Cloud Dev Camp - Introduction
PPTX
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
Microsoft SQL Azure - Building Applications Using SQL Azure Presentation
KoprowskiT_SQLSoton_WADBforbeginners
Creating Flexible Data Services For Enterprise Soa With Wso2 Data Services
SQL Server Developer 70-433
DOSUG Tech Overview of XAware
Overview Of Xaware
Azure Cloud Dev Camp - Introduction
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...

What's hot (20)

PPTX
Sql Azure Pass
DOC
Software architecture to analyze licensing needs for pcms- pegasus cargo ma...
PPTX
Sql Server 2012
PPTX
Kaashiv SQL Server Interview Questions Presentation
PPTX
Active directory ds ws2008 r2
PDF
Azure - Data Platform
PPTX
Sql server denali
PDF
Introducing Microsoft SQL Server 2012
PPTX
Building applications using sql azure
DOC
Dale Brooks Resume D
PPTX
SQL Azure
PPT
Veritas Failover3
PDF
Exploring sql server 2016
PPTX
Ad ds ws2008 r2
PDF
SQL Server 2016 BI updates
ODP
ZK MVVM, Spring & JPA On Two PaaS Clouds
PPTX
Oracle mysql comparison
PPT
Saying goodbye to SQL Server 2000
PPTX
Everything you need to know about SQL Server 2016
PPTX
Introducing Azure SQL Database
Sql Azure Pass
Software architecture to analyze licensing needs for pcms- pegasus cargo ma...
Sql Server 2012
Kaashiv SQL Server Interview Questions Presentation
Active directory ds ws2008 r2
Azure - Data Platform
Sql server denali
Introducing Microsoft SQL Server 2012
Building applications using sql azure
Dale Brooks Resume D
SQL Azure
Veritas Failover3
Exploring sql server 2016
Ad ds ws2008 r2
SQL Server 2016 BI updates
ZK MVVM, Spring & JPA On Two PaaS Clouds
Oracle mysql comparison
Saying goodbye to SQL Server 2000
Everything you need to know about SQL Server 2016
Introducing Azure SQL Database
Ad

Similar to KoprowskiT_SQLSat230_Rheinland_SQLAzure-fromPlantoBackuptoCloud (20)

PDF
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
PDF
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
PPTX
Sql azure dec_2010 Lynn & Ike
PPTX
Sql Sever Presentation.pptx
PPTX
SQL Azure the database in the cloud
PPT
Introduction To Sql Services
PPTX
Real World Sql Azure
PPTX
Why you should(n't) run your databases in the cloud
PPTX
Sql Azure Pass
PPT
SQL Azure Dec 2010 Update
PPT
SQL Azure Dec Update
PDF
KoprowskiT_SQLSat419_WADBforBeginners
PPT
Windows Azure for .NET Developers
PDF
KoprowskiT_SQLRelay2014#9_London_FromPlanToBackupToCloud
PDF
KoprowskiT_SQLRelayNottingham_BackupAndRestoreAD2015
PDF
Working with azure database services platform
PPTX
Azure Data platform
PDF
A to z for sql azure databases
PPTX
Data virtualization using polybase
PPT
Ebook10
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
44spotkaniePLSSUGWRO_CoNowegowKrainieChmur
Sql azure dec_2010 Lynn & Ike
Sql Sever Presentation.pptx
SQL Azure the database in the cloud
Introduction To Sql Services
Real World Sql Azure
Why you should(n't) run your databases in the cloud
Sql Azure Pass
SQL Azure Dec 2010 Update
SQL Azure Dec Update
KoprowskiT_SQLSat419_WADBforBeginners
Windows Azure for .NET Developers
KoprowskiT_SQLRelay2014#9_London_FromPlanToBackupToCloud
KoprowskiT_SQLRelayNottingham_BackupAndRestoreAD2015
Working with azure database services platform
Azure Data platform
A to z for sql azure databases
Data virtualization using polybase
Ebook10
Ad

More from Tobias Koprowski (20)

PDF
KoprowskiT_2AMaDisasterJustBeganAD2018
PDF
DataMindsConnect2018_SECDEVOPS
PDF
KoprowskiT_SQLDay2016_2AMaDisasterJustBegan
PDF
KoprowskiT-Difinify2017-SQL_ServerBackup_In_The_Cloud
PDF
KoprowskiT-Difinify2017-SQL_Security_In_The_Cloud
PDF
KoprowskiT_PASSEastMidsFEB16_2AMaDisasterJustBegan
PDF
KoprowskiT_SQLAzureLandingInBelfast
PDF
KoprowskiT_SQLSatMoscow_2AMaDisaterJustBegan
PDF
KoprowskiT_SQLSatMoscow_WASDforBeginners
PDF
KoprowskiT_SQLRelayBirmingham_SQLSecurityInTheClouds
PDF
KoprowskiT_SQLRelayCaerdydd_SQLSecurityInTheClouds
PDF
KoprowskiT_SBIPTI_Keynote
PDF
KoprowskiT_SQLSatHolland_SQLServerSecurityInTheCloud
PDF
KoprowskiT_SQLSatDenmark_WASDforBeginners
PDF
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
PDF
KoprowskiT_session1_SDNEvent_WASDforBeginners
PDF
KoprowskiT_SQLSaturdayManchester_2AMaDisasterJustbegan
PDF
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
PDF
KoprowskiT_SPBizConf_2AMaDisasterJustBegan
PDF
KoprowskiT_InfoTRAMS_TrustThePrimer
KoprowskiT_2AMaDisasterJustBeganAD2018
DataMindsConnect2018_SECDEVOPS
KoprowskiT_SQLDay2016_2AMaDisasterJustBegan
KoprowskiT-Difinify2017-SQL_ServerBackup_In_The_Cloud
KoprowskiT-Difinify2017-SQL_Security_In_The_Cloud
KoprowskiT_PASSEastMidsFEB16_2AMaDisasterJustBegan
KoprowskiT_SQLAzureLandingInBelfast
KoprowskiT_SQLSatMoscow_2AMaDisaterJustBegan
KoprowskiT_SQLSatMoscow_WASDforBeginners
KoprowskiT_SQLRelayBirmingham_SQLSecurityInTheClouds
KoprowskiT_SQLRelayCaerdydd_SQLSecurityInTheClouds
KoprowskiT_SBIPTI_Keynote
KoprowskiT_SQLSatHolland_SQLServerSecurityInTheCloud
KoprowskiT_SQLSatDenmark_WASDforBeginners
KoprowskiT_Session2_SDNEvent_SourceControlForDBA
KoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_SQLSaturdayManchester_2AMaDisasterJustbegan
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
KoprowskiT_SPBizConf_2AMaDisasterJustBegan
KoprowskiT_InfoTRAMS_TrustThePrimer

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Encapsulation theory and applications.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Modernizing your data center with Dell and AMD
PDF
cuic standard and advanced reporting.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Cloud computing and distributed systems.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Understanding_Digital_Forensics_Presentation.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Electronic commerce courselecture one. Pdf
Encapsulation theory and applications.pdf
MYSQL Presentation for SQL database connectivity
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Modernizing your data center with Dell and AMD
cuic standard and advanced reporting.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
NewMind AI Monthly Chronicles - July 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Review of recent advances in non-invasive hemoglobin estimation
Cloud computing and distributed systems.
Advanced methodologies resolving dimensionality complications for autism neur...

KoprowskiT_SQLSat230_Rheinland_SQLAzure-fromPlantoBackuptoCloud

  • 1. SQL Azure from Plan, to Backup, to Cloud – Red Gate Cloud Services Tobiasz Janusz Koprowski SQL Server MVP, FORG+
  • 2. Vielen Dank an die Volunteers! 13.07.2013 |
  • 3. Große Verlosung!  Am Ende der Veranstaltung (ca. 18:00 Uhr)  Gewinnt viele Preise!  Deshalb: 13.07.2013 | Besucht unsere Sponsoren!
  • 4. Unsere „You Rock! “ Sponsoren 13.07.2013 |
  • 5. Vielen Dank an all unsere Sponsoren! 13.07.2013 | Gold Silber Bronze
  • 7. Hands-on event: PASS Camp 2013! 13.07.2013 |
  • 8. ABOUT ME  Polish SQL Server User Group Leader  Microsoft Certified Trainer (MCP, MCSA, MLSS, MLSBS, MCTS, MCITP)  SQL Server MVP (four years in a row)  Blogger, Influencer, Technical Writer  Last 8 years living in Data Center in Wrocław  Generally about 14 years in IT/banking area  Speaker at SQL Server Community Launch, Time for SharePoint, CodeCamps, SharePoint Community Launch, CISSP Day, SQL in the City, InfoTRAMS, SQL Bits, SQL Saturday, CareerCon, Sharepoint & SQL Connection, IT Camp…  Deep Dives Co-Author: High availability of SQL Server in the context of Service Level Agreements (Chapter 18th)
  • 9. AGENDA  PART ONE: SQL Azure Plan, Compability  PART TWO: Cloud Services Backup and Restore, Synchronize and Schedule  APPENDIX: additional links
  • 10. PART ONE: SQL Azure Database
  • 11. Short Introduction • Windows Azure Compute: Virtualized compute environment based on Windows Server Storage: Durable, scalable, & available storage Management: Automated, model-driven management of the service • SQL Azure (cloud-based database) Database: Relational processing for structured/unstructured data • App Fabric (.NET services) Service Bus: General purpose application bus Access Control: Rules-driven, claims-based access control
  • 12. Security Requirements for Azure Platform As a Service Provider Microsoft has an obligation to passing the several rules for security: • ISO/IEC 27001:2005 • SAS 70 Type 1 and II Also they passing (continuisly) several data securing audits: • PCI DSS • SOX compliance • HIPAA compliance And of course requirements for Data Centers: • Physical security of the data centers (locks, cameras, biometric devices, card readers, alarms) • Firewalls, application gateways and IDS to protect the network • Access Control Lists (ACLs) applied to virtual local area networks (VLANs) and applications • Authentication and authorization of persons or processes that request access to data • Hardening of the servers and operating system instances • Redundant internal and external DNS infrastructure with restricted write access • Securing of virtual machine objects • Securing of static and dynamic storage containers
  • 13. PART ONE: SQL Azure We want to work with SQL Azure (oops SQL Database)  Size does it matter?  Personal: 1GB, 5GB  Business: 10GB, 20 GB, 30 GB, 40 GB, 50 GB, 100 GB, 150 GB (3x50)  “Private”: less than 100 MB ($4.995 / month)  Version does it matter?  10.25 my first experience, but after July 2011 Service Release…  11.00 now > close to SQL Server 2012  Collation does it matter?  default collation: SQL_Latin1_General_CP1_CI_AS  table level collation error msg 40544: The database has reached its size quota. Partition or delete data, drop indexes, or consult the documentation for possible resolutions.
  • 14. PART ONE: SQL Database  Naming, Logins, Users  Admin, administrator, guest, root, sa  Data Migration Support  You can use:  SQL Server 2008 Integration Services (SSIS)  The bulk copy utility (BCP.exe)  System.Data.SqlClient.SqlBulkCopy class  Scripts that use INSERT statements to load data into the database  SQL Data Compare from Red Gate  You can't use:  The RESTORE statement.  Attaching a database to the SQL Database server.  No SQL Server Agent  No SQL Server jobs  No SQL Server Browser  No Cross Database queries
  • 15. PART ONE: SQL Database Indexes, of course indexes  You MUST use CLUSTERED INDEX with your (Azure) SQL Database.  Heap tables are not supportes, so You MUST create CLUSTERED INDEX before INSERT will be executed error msg 40054: Tables without a clustered index are not supported in this version of SQL Server. Create a clustered index and try again. CREATE TABLE Source (Id int NOT NULL IDENTITY, [Name] nvarchar(max), CONSTRAINT [PK_Source] PRIMARY KEY CLUSTERED ( [Id] ASC ))
  • 16. PART ONE: SQL Database Closed connections to the service… by the service Because of multi-tenant :  Excessive resource usage  Connections that have been idle for 30 minutes or longer (Program assuming your connection is going to fail)  Failover because of server failures errors: 40197, 40501, 40544, 40549, 40550, 40551, 40552, 40553, and 40613
  • 17. Hardware Boundary Hardware Boundary Hardware Boundary Hardware Boundary Shared Environment BC D A A B B C CD D A
  • 18. Sample of SQL Compability In Scope for v1  Constants  Constraints  Cursors  Index management and rebuilding indexes  Local temporary tables  Reserved keywords  Stored procedures  Statistics management  Transactions  Triggers  Tables, joins, and table variables  Transact-SQL language elements such as  Create/drop databases  Create/alter/drop tables  Create/alter/drop users and logins  and so on.  User-defined functions  Views Out of Scope for v1  Common Language Runtime (CLR)  Database file placement  Database mirroring  Distributed queries  Distributed transactions  Filegroup management  Global temporary tables  Spatial data and indexes  SQL Server configuration options  SQL Server Service Broker  System tables  Trace Flags  Physical server or catalog DDL and views
  • 19. SQL Server 2005 {9.0} NON-Compability  Common Language Runtime (CLR) and CLR User-Defined Types  Database Mirroring  Service Broker  Table Partitioning  Typed XML and XML indexing is not supported. The XML data type is supported by SQL Azure.
  • 20. SQL Server 2008 {10.0} NON-Compability  Change Data Capture  Data Auditing  Data Compression  Extended Events  External Key Management / Extensible Key Management  FILESTREAM Data  Integrated Full-Text Search  Large User-Defined Aggregates (UDAs)  Large User-Defined Types (UDTs)  Performance Data Collection (Data Collector)  Policy-Based Management  Resource Governor  SQL Server Replication  Transparent Data Encryption
  • 21. SQL Server 2008 R2 {10.50} NON-Compability  SQL Server Utility  SQL Server PowerShell Provider  Master Data Services SQL Server Management Studio does not support Windows Azure SQL Database in versions prior to SQL Server 2008 R2
  • 22. Connection Model When writing applications for SQL Azure, you can use the following drivers and libraries:  .NET Framework Data Provider for SQL Server (System.Data.SqlClient) from the .NET Framework 3.5 Service Pack 1.  SQL Server 2008 Native Client ODBC driver.  SQL Server 2008 Driver for PHP version 1.1.  SQL Azure supports tabular data stream (TDS) protocol client version 7.3 or later. Earlier versions of TDS protocol are not supported.  Connecting to SQL Azure by using OLE DB is not supported.  Support for ASP.NET controls  Clients connect directly to a database ‒ Cannot hop across DBs (no USE)
  • 23. Scenarios for V1 • Departmental Applications ‒ Simple application built by individual or department ‒ Need simple deployment, self-management, IT: “Empowerment and Governance” • Web Applications ‒ Small business or startup that uses the cloud as their IT ‒ Simple deployment, self-management, scale on demand • ISV ‒ ISV hosting software on behalf of customer ‒ Multi-tenant support for billing and isolation • Data Hub (Shortly After V1) ‒ Sharing and aggregating of data across tiers and across enterprises ‒ Centralized place for data, high scale, sync with existing data sources
  • 24. PART ONE: SQL Database Point of Difference On-premise SQL Server Windows Azure SQL Database Where you manage server-level security The Security folder in SQL Server Management Studio'sObject Explorer The master database Server-level security role for creating logins securityadmin fixed server role loginmanager database role in the master database Commands for managing logins CREATE LOGIN CREATE LOGIN ALTER LOGIN ALTER LOGIN DROP LOGIN DROP LOGIN (There are some parameter limitations and you must be connected to the master database) View that shows all logins sys.syslogins (sys.sql_logins for SQL Server authentication logins) sys.sql_logins (You must be connected to the master database) Server-level role for creating databases dbcreator fixed database role dbmanager database role in the master database Command for creating a database CREATE DATABASE CREATE DATABASE (There are some parameter limitations and you must be connected to the master database) Dropping databases DROP DATABASE DROP DATABASE If a user is in the dbmanager role, they have permission to DROP any database, regardless of which user originally created it. View that lists all databases sys.databases sys.databases (view) (You must be connected to the master database) 25 |
  • 25. PART ONE: SQL Database FEDERATIONS  One or more tables within a database are split by row and portioned across multiple databases (federation members) /sharding/  A federation is a collection of database partitions that are:  defined by a federation distribution scheme, known as the federation scheme.  federation scheme defines a federation distribution key, (which determines the distribution of data to partitions within the federation)  federation distribution key must be an INT, BIGINT, UNIQUEIDENTIFIER, or VARBINARY  only one federation scheme and one federation distribution key for a federation.  Scale up and out  10K records > 1DB >> INSERT, INSERT > 10M records  10K records > 10K max / DB >> INSERT, INSERT >> 100DB each 10K  Partitioning:  Horizontal / per row
  • 26. PART ONE: SQL Database Logical model for federations
  • 27. PART ONE: SQL Database Pmodel for federations
  • 28. PART ONE: SQL Database Adventure… … of course Adventure Works 2012 for SQL Database  Adventure Works for SQL Server 2012  Release date: March 2012  Adventure Works for SQL Azure  Release date: April 2012
  • 29. PART ONE: Azure SQL Database SHORT DEMO…
  • 30. PART TWO: Cloud Services
  • 31. PART TWO: Cloud Services  What is Cloud Services from Red Gate?  Suite of tools to help managing cloud services  Came out of SQL Azure Backup  Launched in Feb 2012 – continually developing  Contain different, but integrated features  Set up SQL Azure backup/restore  Back up/Restore your Blob storage  Back up/Restore Azure table  Flexible scheduling  Receive automated emails after each job  Quickly review your job  Control how your SQL Azure backups are named
  • 32. PART TWO: Backup and Restore  Backup to Azure Blob Storage or Amazon S3  Format is a .bacpac  Zip file containing xml schema and json data  Permissions needed for a transactional backup  dbmanager and dbo  ( CREATE DATABASE x AS COPY OF y)  To export to bacpac file  dbo
  • 34. Most Important Article (in my private opinion) http://bit.ly/WIHlDL Authors: Conor Cunningham, Tobias Ternström, Silvano Coriani, Ewan Fairweather Contributing Author: Ralph Squillace
  • 35. MSDN SQL Database District Windows Azure SQL Database (formerly SQL Azure) | http://bit.ly/H0Wdfx  What's New in Windows Azure SQL Database (formerly SQL Azure)  Backward Compatibility in Windows Azure SQL Database  Known Issues in Windows Azure SQL Database  Introducing Windows Azure SQL Database  Tutorials  Feedback and Community Information  Windows Azure Platform Management Portal  Windows Azure SQL Database Concepts  Administration  Development  Guidelines and Limitations  Management REST API Reference  Transact-SQL Reference  Errors and Exceptions Reference
  • 36. APPENDIX: additional links  Red Gate Cloud Ready Services  http://cloudservices.red-gate.com/  General Guidelines and Limitations (Windows Azure SQL Database)  http://bit.ly/11wB6cK  Adventure Works for SQL Database (formerly SQL Azure)  http://bit.ly/125s0W0  Federations: Building Scalable, Elastic, and Multi-tenant Database Solutions http://bit.ly/ZxzjmQ | http://bit.ly/15GzIEE  Error Messages (Windows Azure SQL Database)  http://bit.ly/17tnQtE  Compare SQL Server with Windows Azure SQL Database  http://bit.ly/15RyB5u
  • 37. AFTER SESSION CONTACT:  MAIL: KoprowskiT@windowslive.com  MSG: KoprowskiT@windowslive.com  KYPE: tjkoprowski  TWITTER/FACEBOOK/LINKEDIN: KoprowskiT BLOGS:  ITPRO Anorak’s Vision: http://itblogs.pl/notbeautifulanymore/  Volume Licensing Specialites: http://koprowskit.eu/licensing/  My MVP Blog: http://koprowskit.eu/geek/
  • 38. NEXT SESSIONS Start Time 12:00 PM Azure & Big Data: Room 5 Stephan Pepersack The Cloud OS - A holistic view on Microsoft Server Technologies Business Intelligence: Room 3 Ruben Pertusa & Paco Gonzalez Social Text, Sentiment and Tone Analysis Database Administration: Room 1 Andreas Wolter SQL Server under Attack - Angriffsszenarien Database Development: Room 2 Dennis Traub DDD und relationale Daten - Ein Widerspruch? Openness: Room 4 Marcel Franke Big Data - Hype or Reality?