KoprowskiT_SQLRelay2014#1_Reading_FromPlanToBackupToCloud
-
Upload
tobiasz-janusz-koprowski -
Category
Technology
-
view
167 -
download
0
description
Transcript of KoprowskiT_SQLRelay2014#1_Reading_FromPlanToBackupToCloud
Windows Azure SQL Databasefrom Plan, to Backup, to Cloud
Tobiasz Janusz Koprowski | Independent Consultant
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 2
Premier
Gold
Silver
Bronze
Our awesome sponsors
ABOUT ME
Leader of Polish SQL Server User Group
Microsoft Certified Trainer (SharePoint, SQL Server, Security, Azure)
SQL Server MVP (five years)
MVP Mentor Program Member
consultant, security & licensing auditor
active blogger, influencer, technical writer
last 9 years living in Data Processing Center
last 14 years banking and ICT
NOW going into Independent Consultancy
frequently speaker at several conferences: SQL Server Community Launch, Time
for SharePoint, CodeCamps, InfoMEET, SharePoint Community Launch, CISSP
Day, SQL in the City, InfoTRAMS, SQL Bits, IT Camp, SQL Saturday, CareerCon,
Sharepoint & SQL Connection, Kariera IT, SQL Rally, SQL Relay, InfoTech…
Microsoft Terminology Community / translations for Wndows 7/8 and Visual
Studio 2010/2012
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 4
AGENDA
PART ONE: Plan
Plan, Compability,
PART TWO: Backup
Backup, Restore,
Synchronize, Schedule
PART TWO: Cloud
Tools
APPENDIX: additional links
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 5
PART ONE: Plan
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 7
PART ONE: Azure 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
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 8
PART ONE: Virtual Machines
Virtual Machines
Launch Windows Server and Linux in minutes
• Scale from 1 to 1000s of VM Instances
• Built-in Virtual Networking, Load Balancing
• Leverage Hybrid Consistency with On-Premises
• Microsoft SQL Server and SharePoint Server
• Oracle, MySQL, Redis, MongoDB
• Save money with per-minute billing
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 9
PART ONE: HDInsight
HDInsight
Our 100% Apache Hadoop-based service in the cloud
• Scale to petabytes on demand
• Process unstructured and semi-structured data
• Develop in Java, .NET, and more
• No hardware to buy or maintain
• Pay only for what you use
• Spin up a Hadoop cluster in minutes
• Visualize your Hadoop data in Excel
• Easily integrate on-premises Hadoop clusters
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 10
PART ONE: Machine Learning
Machine Learning PREVIEW
Powerful cloud-based predictive analytics
• Designed for new and experienced users
• Proven algorithms from MS Research, Xbox and Bing
• First class support for the open source language R
• Seamless connection to HDInsight for big data solutions
• Deploy models to production in minutes
• Pay only for what you use. No hardware or software to buy.
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 11
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
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 12
Security Requirements for Azure Platform
• ISO/IEC 27001:2005 Audit and CertificationISO Scope: The following Azure features are in scope for the current ISO audit: Cloud Services (including Fabric and RDFE), Storage (Tables, Blobs, Queues),
Virtual Machines (including with SQL Server), Virtual Network, Traffic Manager, Web Sites, BizTalk Services, Media Services, Mobile Services, Service Bus,
Workflow, Multi-Factor Authentication, Active Directory, Right Management Service, SQL Database, and HDInsight. This includes the Information Security
Management System (ISMS) for Azure, encompassing infrastructure, development, operations, and support for these features. Also included are Power BI
for Office 365 and Power Query Service.
• SOC 1 and SOC 2 SSAE 16/ISAE 3402 AttestationsScope: The following Azure features are in scope for the current SOC 1 Type 2 and SOC 2 Type 2 attestations: Cloud Services (includes stateless Web, and
Worker roles), Storage (Tables, Blobs, Queues), Virtual Machines (includes persistent virtual machines for use with supported operating systems) and
Virtual Network (includes Traffic Manager).
• United Kingdom G-Cloud Impact Level 2 AccreditationScope: The following Azure features are in scope for the IL2 accreditation: Virtual Machines, Cloud Services, Storage (Tables, Blobs, Queues, Drives), and
Virtual Network.
• Cloud Security Alliance Cloud Controls Matrix
• Federal Risk and Authorization Management Program (FedRAMP)
• Payment Card Industry (PCI) Data Security Standards (DSS) Level 1
• HIPAA Business Associate Agreement (BAA)
• Family Educational Rights and Privacy Act (FERPA)
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 13
Data Centers for Azure Platform
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 14
Data Centers for Azure Platform
North America
US Central - Iowa
US East - Virginia
US East 2 - Virginia
US Gov Iowa - Iowa
US Gov Virginia - Virginia
US North Central - Illinois
US South Central - Texas
US West – California
Asia
Asia Pacific East - Hong Kong
Asia Pacific Southeast – Singapore
Europe
North Europe - Dublin, Ireland
West Europe - Amsterdam, Netherlands
Japan
Japan East - Saitama Prefecture
Japan West - Osaka Prefecture
Oceania (announced, coming soon)
Australia - Sydney, New South Wales
Australia - Melbourne, Victoria
South America (preview)
Brasil - Sao Paulo,
Some datacenters have servers
grouped inside containers - each
containing 1800-2500 servers.
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 15
Shared Environment
Hardware Boundary
Hardware Boundary
Hardware Boundary
Hardware Boundary
BC
D
A A
B
BC
CD
D
A
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 16
PART ONE: SQL Azure few days ago
We want to work with SQL Azure (oops SQL Database)
Size does 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 matter?
10.25 my first experience, but after July 2011 Service Release…
11.0.9214.51 now > close to SQL Server 2012
Row Versioning-Based Isolation Levels
Both the READ_COMMITTED_SNAPSHOT and ALLOW_SNAPSHOT_ISOLATION database options are set to ON in Microsoft Azure SQL Database.
Because SET <snapshot_option> in the ALTER DATABASE Transact-SQL statement is not supported, these database options cannot be changed.
error msg 40544:The database has reached its size quota. Partition or delete data, drop
indexes, or consult the documentation for possible resolutions.
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 17
PART ONE: SQL Azure now
Size does 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)
Size does matter!
BASIC
size: 100MB, 500MB, 1GB, 2GB
performance: 5DTU
STANDARD
size: 100MB, 500MB, 1GB, 2GB, 5GB, 10GB, 20GB, 30GB, 40GB, 50GB, 100GB, 150GB, 200GB, 250GB
performance: S0 10DTU, S1 20DTU, S2 50DTU
PREMIUM
size: 100MB, 500MB, 1GB, 2GB, 5GB, 10GB, 20GB, 30GB, 40GB, 50GB, 100GB, 150GB, 200GB, 250GB, 500GB
performance: P10 100DTU, P2 200DTU, SP3 800DTU
What is DTUDTUs provide a way to describe the relative capacity of a performance level of Basic, Standard, and Premium databases. DTUs are based on a
blended measure of CPU, memory, reads, and writes.
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 18
PART ONE: SQL Azure and DTU
Service
Tier/Performan
ce Level
DTU MAX DB SizeMax Worker Thr
eadsMax Sessions
Benchmark
Transaction
Rate
Predictability
Basic 5 2 GB 30 300 16,600
transactions per
hour
Good
Standard/S0 10 250 GB 60 600 521 transactions
per minute
Better
Standard/S1 20 250 GB 90 900 934 transactions
per minute
Better
Standard/S2 50 250 GB 120 1,200 2,570
transactions per
minute
Better
Premium/P1 100 500 GB 200 2,400 105 transactions
per second
Best
Premium/P2 200 500 GB 400 4,800 228 transactions
per second
Best
Premium/P3 800 500 GB 1,600 19,200 735 transactions
per second
Best
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 19
PART ONE: SQL Azure Collation
Collation does it matter?
default database collation used by Microsoft Azure SQL Database is SQL_LATIN1_GENERAL_CP1_CI_AS, where LATIN1_GENERAL is English (United States), CP1 is code page 1252, CI is case-insensitive, and AS is accent-sensitive
SQL_Latin1_General_CP1_CI_AS
When using an on-premise SQL Server, you can set collations at server, database, column, and expression levels.
Microsoft Azure SQL Database does not allow setting the collation at the server level.
To use the non-default collation with Microsoft Azure SQL Database, set the collation with the Create Database Collate option, or at the column level or the expression level.
SQL Database does not support the Collate option with the Alter Database command.
By default, in SQL Database, temporary data will have the same collation as the database
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 20
PART ONE: Users
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 (almost)
No SQL Server jobs
No SQL Server Browser
No Cross Database queries
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 21
PART ONE: Indexes
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))
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 22
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, 40613
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 23
Sample of SQL CompabilityIn 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 RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 24
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 RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 25
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 RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 26
SQL Server 2008 R2 {10.50} NON-Compability
SQL Server Utility
SQL Server PowerShell Provider
Master Data Services
SQL Server Management Studiodoes not support Windows Azure SQL Database in versions prior to
SQL Server 2008 R2
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 27
Connection Model
When writing applications for Windows Azure SQL Database, 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 or later. Entity Framework from the .NET Framework 3.5 Service Pack 1 or later. SQL Server 2008 R2 Native Client ODBC driver. SQL Server 2008 Native Client ODBC driver is
also supported, but has less functionality. SQL Server 2008 Driver for PHP version 1.1 or later. An updated version of SQL Server JDBC Driver 3.0 that supports SQL Database.
Windows Azure SQL Database supports tabular data stream (TDS) protocol client version 7.3 or later. Earlier versions of TDS protocol are not supported.
Connecting to Windows Azure SQL Database by using OLE DB or ADO is not supported Support for ASP.NET controls Clients connect directly to a database
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 28
Security Model
Uses regular SQL security model
Authenticate logins, map to users and roles
Authorize users and roles to SQL objects
Support for standard SQL Auth logins
Username + password
AD Federation, WLID – Windows Live ID, etc as alternate authentication protocols
Security model is 100% compatible with on-premise SQL
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 29
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
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 30
PART ONE: SQL Database Point of Difference On-premise SQL Server Windows Azure SQL Database
Where you manage server-level securityThe 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 loginssys.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)
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 31
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.
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 32
PART ONE: SQL Database scale up/down
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
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 33
PART ONE: Adventure with WASD
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
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 34
PART TWO: Backup
Backup Strategy
What is Backup?
What is Strategy?
Will we need this?
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 36
ITS ONLY ONE: BE PREPARED
Backups
about type of backup ( simple rm / full rm)
about place for stored backup data
about backup window
about procedure used for backup
about backup tools
about backup of „backup logs”
about estimated time for executing backup
about REAL TIME of executing backup
BEST PRACTICE FOR SURVIVING DISASTER
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 37
In the request, backup, should include the following information:• Information about the operating system and application version for online backup and installed updates for these components• a file backup policy, in particular:
a number of versions of a file storedthe storage time of the next version of the filethe frequency of execution of such incremental backups with the proposal of their implementation
• Online Backup Policythe storage time of a full backup with storage time such an incremental backupthe time of transaction log filesthe frequency of execution of a full backup with the proposal deadline for its implementationthe frequency of execution of the transaction log backup
• Information about trees directories / files that should be omitted or included during backup tasks (include / exclude list)• Number and type / model of physical processors,• Does the node will use the connection to the SAN to implement backup
BACKUP > extract from SOP*
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 38
This register contains information about a backup plan implemented.
Backup file space:
number of versions of a file stored in a backup
number of days that are kept more versions of a file
number of versions of a file stored in the backup system after its removal from client device
number of days that will store the latest version of the deleted file from the client device
number of days that will be stored in the archive
Online Backup:
number of backups stored in full backup
number of incremental backups / diff / full stored in the backup
frequency of transaction log backups stored in the backup (for databases)
number of days the backups to be stored on-line backup system
The list of nodes defined in the system backup:
Domain | Node name | IP address of the node
The list of defined backup tasks (called schedule)
name of the task (schedule) | execution time
a period of at which the task is repeated
BACKUP (registry) > extract from SOP*
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 39
Restore Strategy
What is Restore?
What is Strategy?
Will we need this?
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 40
Best practices by Brent Ozar
SQL Server Backup Best Practices |
Written on October 17, 2007 by Brent Ozar in SQL Server
>> http://bit.ly/12oXm4h
I’ve been backing up SQL Servers for almost a decade now, and it’s time to share the lessons I’ve learned. All
of this is my own opinion – your mileage may vary – but I’ll try to explain the reasoning behind the choices I
make. I won’t address log shipping or snapshots this time around.
• Never back up databases to local disk.
• Back up databases to a fileshare, then back the share up to tape.
• Cost justify the network share with lower licensing costs & simpler backups.
• Back up to a different SAN if possible.
• My sweet spot for the backup array is raid 10 SATA.
• Backup agents like NetBackup and Backup Exec mean giving up scheduling control.
• Do regular fire drill rebuilds and restores.
• Build a standalone restore testbed.
• Keep management informed on restore time estimates.
• Trust no one.
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 41
ITS ONLY ONE: BE PREPARED
Restore
about type of backup ( simple rm / full rm)
about place for stored backup data
about the procedures of recovery
about estimated time for recovery
about REAL TIME for recovery
about tools for recovery
about Corporate Backup Manager
about password for access to library
BEST PRACTICE FOR SURVIVING DISASTER
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 42
Register for Recovery/Restore/Replacement Tests
This register contains information about the tests and replacement of part or all of the environment. It consists of the following fields:
the date of commencement and completion of the recovery test
client for which the test was performed recovery test
servers involved in testing and replacement
extent of testing and replacement
person / persons performing the recovery test
person on the client side accepts the correctness of the recovery test
subsequent to the recovery test
RESTORE > extract from SOP*
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 43
PART TWO: Azure SQL Database Backup and Restore
Microsoft Azure SQL Database has built-in backups to support self-service Point in Time Restore and Geo-Restore for Basic, Standard, and Premium service tiers.
If you have Web or Business Edition databases, you must create your own backup strategy. You can use database copy or Import and Export services to create copies of the data and export the file to an Microsoft Azure storage account.
Built-in Automatic Backup in Azure SQL Database >> Azure SQL Database automatically creates backups of every active database using the following schedule:
full database backup once a week,
differential database backups once a day,
transaction log backups every 5 minutes.
The full and differential backups are replicated across regions to ensure availability of the backups in the event of a disaster.
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 44
PART TWO: Azure SQL Database Backup and Restore
Backup storage is the storage associated with your automated database backups that are used for Point in TimeRestore and Geo-Restore. Azure SQL Database provides up to 200% of your maximum provisioned databasestorage of backup storage at no additional cost.
For example, if you have a database in the Standard service tier with a provisioned size of 250 GB, you will beprovided with 500 GB of backup storage at no additional charge.
Point in Time Restore is designed to recover a database to a specific point in time within the backup retentionperiod supported by the service tier of the database. Restoring creates a new database with the same service tierthat was in use at the chosen restore point and the lowest performance level supported by that tier.
For example, if you restore a database which was set to Premium at the specified restore point in time, the newdatabase will also be a Premium database and the performance level is set to P1
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 45
PART TWO: Azure SQL Database Backup and Restore
Service Tier Geo-RestoreSelf-Service Point in
Time RestoreBackup Retention
PeriodRestore a Deleted
Database
Web Not supported Not supported n/a n/a
Business Not supported Not supported n/a n/a
Basic Supported Supported 7 days √
Standard Supported Supported 14 days √
Premium Supported Supported 35 days √
The time taken to complete a restore depends on the size of the database and the length of the log
chain. To get a good estimate of the restore time, you should periodically test restoring the database.
You can monitor the restore operation using sys.dm_operation_status.
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 46
PART TWO: SQL Server Backup and Restore with Windows Azure Blob Storage Service
SQL Server backups to and restoring from the Windows Azure Blob storage service. It also provides asummary of the benefits of using the Windows Azure Blob service to store SQL Server backups.
SQL Server supports storing backups to the Windows Azure Blob storage service in the following ways:
Manage your backups to Windows Azure: Using the same methods used to backup to DISK and TAPE,you can now back up to Windows Azure storage by Specifying URL as the backup destination. You can usethis feature to manually backup or configure your own backup strategy like you would for a local storage orother off-site options. This feature is also referred to as SQL Server Backup to URL. For more information,see SQL Server Backup to URL. This feature is available in SQL Server 2012 SP1 CU2 or later.
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 47
PART TWO: SQL Server Backup and Restore with Windows Azure Blob Storage Service
Benefits of Using the Windows Azure Blob Service for SQL Server Backups
Flexible, reliable, and limitless off-site storage:
Storing your backups on Windows Azure Blob service can be a convenient, flexible, and easy to access off-site option. Creating off-site storage for your SQL Server backups can be as easy as modifying your existing scripts/jobsBy choosing to geo replicate theBlob storage you have an extra layer of protection in the event of a disaster that could affect the whole region. In addition, backupsare available from anywhere and at any time and can easily be accessed for restores.
Backup Archive:
The Windows Azure Blob Storage service offers a better alternative to the often used tape option to archive backups. Tape storagemight require physical transportation to an off-site facility and measures to protect the media. Storing your backups in WindowsAzure Blob Storage provides an instant, highly available, and a durable archiving option.
No overhead of hardware management:
There is no overhead of hardware management with Windows Azure services. Windows Azure services manage the hardware andprovide geo-replication for redundancy and protection against hardware failures.
Cost Benefits:
Pay only for the service that is used. Can be cost-effective as an off-site and backup archive option. See the Windows Azure BillingConsiderations section for more information and links.
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 48
PART TWO: SQL Server Backup and Restore with Windows Azure Blob Storage Service
Benefits of Using the Windows Azure Blob Service for SQL Server Backups
Currently for instances of SQL Server running in a Windows Azure Virtual Machine, backing up to WindowsAzure Blob storage services can be done by creating attached disks.
However, there is a limit to the number of disks you can attach to a Windows Azure Virtual Machine. This limit is 16 disksfor an extra large instance and fewer for smaller instances. By enabling a direct backup to Windows Azure Blob Storage,you can bypass the 16 disk limit.
In addition, the backup file which now is stored in the Windows Azure Blob storage service is directlyavailable to either an on-premises SQL Server or another SQL Server running in a Windows Azure VirtualMachine, without the need for database attach/detach or downloading and attaching the VHD.
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 49
PART THREE: Cloud
PART THREE: RedGate 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
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 51
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
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 52
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
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 53
Don’tAsk Me…
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 59
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
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 61
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
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 62
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
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 63
CONTACT:
MAIL: [email protected]
MSG: [email protected]
TWITTER/FACEBOOK/LINKEDIN: KoprowskiT
SLIDES FROM SESSION:
SQL Relay 2014 Page: https://www.sqlsaturday.com/311/schedule.aspx
SlideShare Profile: http://www.slideshare.net/Anorak
BLOGS:
ITPRO Anorak’s Vision: http://itblogs.pl/notbeautifulanymore/ [PL/EN]
Volume Licensing Specialites: http://koprowskit.eu/licensing/ [PL]
My MVP Blog: http://koprowskit.eu/geek/ [EN/ES/PL]
AFTER SESSION
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 64
ThankYou Very Much
Q & A
SQL RELAY 2014 | READING OCT 13TH | KOPROWSKIT - FROM PLAN, TO BACKUP, TO CLOUD 65