Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.



Published on

Microsoft released SQL Azure more than two years ago - that's enough time for testing (I hope!). So, are you ready to move your data to the Cloud? If you’re considering a business (i.e. a production environment) in the Cloud, you need to think about methods for backing up your data, a backup plan for your data and, eventually, restoring with Red Gate Cloud Services. In this session, you’ll see the differences, functionality, restrictions, and opportunities in SQL Azure and On-Premise SQL Server 2008/2008 R2/2012. We’ll consider topics such as how to be prepared for backup and restore, and which parts of a cloud environment are most important: keys, triggers, indexes, prices, security, service level agreements, etc.

Published in: Technology
  • Be the first to comment

  • Be the first to like this


  1. 1. SQL Azure from Plan, to Backup, to Cloud – Red Gate Cloud Services Tobiasz Janusz Koprowski SQL Server MVP, FORG+
  2. 2. ABOUT ME  Polish SQL Server User Group Leader  Microsoft Certified Trainer  MCP, MCSA, MLSS, MLSBS, MCTS, MCITP, MCT  SQL Server MVP three 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)
  3. 3. AGENDA  PART ONE: SQL Azure Plan, Compability  PART TWO: Cloud Services Backup and Restore, Synchronize and Schedule  APPENDIX: additional links
  4. 4. PART ONE: SQL Azure Database
  5. 5. 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
  6. 6. 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
  7. 7. 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.
  8. 8. 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
  9. 9. 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 ))
  10. 10. 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
  11. 11. Hardware Boundary Hardware Boundary Hardware Boundary Hardware Boundary Shared Environment BC D A A B B C CD D A
  12. 12. 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
  13. 13. 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.
  14. 14. 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
  15. 15. 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.
  16. 16. 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)
  17. 17. 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
  18. 18. 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) 19 |
  19. 19. PART ONE: SQL Database FEDERATIONS  from 2009 through 2011 for today (history)  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  Vertical / per column
  20. 20. 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
  21. 21. PART ONE: Azure SQL Database SHORT DEMO…
  22. 22. PART TWO: Cloud Services
  23. 23. 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  Backup and Restore for SQL Azure  Synchronize for storage  Scheduling + e-mail notification
  24. 24. 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 I think
  25. 25. PART TWO: Storage Backup  Backup between Azure Storage and Amazon S3  Checksum or filename comparison  Copies only updated or added files  Deleted files are not removed currently  New features coming fast  Architected to support more storage systems
  26. 26. APPENDIX: links & demos
  27. 27. Most Important Article (in my private opinion) Authors: Conor Cunningham, Tobias Ternström, Silvano Coriani, Ewan Fairweather Contributing Author: Ralph Squillace
  28. 28. MSDN SQL Database District Windows Azure SQL Database (formerly SQL Azure) |  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
  29. 29. APPENDIX: additional links  Red Gate Cloud Ready Services   General Guidelines and Limitations (Windows Azure SQL Database)   Adventure Works for SQL Database (formerly SQL Azure)   Federations: Building Scalable, Elastic, and Multi-tenant Database Solutions |  Error Messages (Windows Azure SQL Database)   Compare SQL Server with Windows Azure SQL Database 
  30. 30. AFTER SESSION CONTACT:  MAIL:  MSG:  KYPE: tjkoprowski  TWITTER/FACEBOOK/LINKEDIN: KoprowskiT BLOGS:  ITPRO Anorak’s Vision:  Volume Licensing Specialites:  My MVP Blog:
  31. 31. NEXT SESSION 10:15 AM  Matija Lah  SQL Server and XML Query Level: Advanced  Michael Morris  Choosing the right Storage technology for SQL Server (Flash or rotating or both? For OLTP or DW)  Chris Webb  DAXMD: SSAS Multidimensional meets DAX and Power View
  32. 32. THANK YOU Q & A