Top Banner
Windows Azure SQL Database from Plan, to Backup, to Cloud Tobiasz Janusz Koprowski | Independent Consultant
63

KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

Jun 21, 2015

Download

Technology

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

Windows Azure SQL Databasefrom Plan, to Backup, to Cloud

Tobiasz Janusz Koprowski | Independent Consultant

Page 2: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

2

Page 3: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

Premier

Gold

Silver

Bronze

Our awesome sponsors

Page 4: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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 and trainer

• 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

4SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 5: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

AGENDA

• PART ONE: Plan

Plan, Compability,

• PART TWO: Backup

Backup, Restore,

Synchronize, Schedule

• PART TWO: Cloud

Tools

• APPENDIX: additional links

5SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 6: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

PART ONE:Plan

Page 7: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

7SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 8: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

8SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 9: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

Data Centers for Azure Platform

9SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 10: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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.

10SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 11: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

11SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 12: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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)

12SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 13: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

13SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 14: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

14SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 15: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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.

15SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 16: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

Shared Environment

Hardware Boundary

Hardware Boundary

Hardware Boundary

Hardware Boundary

BC

D

A A

B

BC

CD

D

A

16SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 17: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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.

17SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 18: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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.

18SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 19: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

PART ONE: SQL Azure and DTU

Service Tier/Performance

LevelDTU MAX DB Size Max Worker Threads Max 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

19SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 20: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

20SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 21: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

21SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 22: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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 NULLIDENTITY, [Name] nvarchar(max),CONSTRAINT [PK_Source] PRIMARY KEY CLUSTERED(

[Id] ASC))

22SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 23: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

23SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 24: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

24SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 25: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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.

25SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 26: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

26SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 27: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

SQL Server 2008R2 {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

27SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 28: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

28SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 29: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

[admin, administrator, guest, root, sa]

Security model is 100% compatible with on-premise SQL

29SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 30: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

30SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 31: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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 LOGINALTER LOGIN ALTER LOGINDROP 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 databasessys.databases sys.databases

(view) (You must be connected to the master database)

31SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 32: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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.

32SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 33: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

33SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 34: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

34SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 35: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

PART TWO: Backup

Page 36: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

Backup Strategy

What is Backup?

What is Strategy?

Will we need this?

36SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 37: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

37SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 38: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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 stored

the storage time of the next version of the file

the frequency of execution of such incremental backups with the proposal of their

implementation

• Online Backup Policy

the storage time of a full backup with storage time such an incremental backup

the time of transaction log files

the frequency of execution of a full backup with the proposal deadline for

its implementation

the 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*

38SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 39: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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*

39SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 40: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

Restore Strategy

What is Restore?

What is Strategy?

Will we need this?

40SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 41: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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.

41SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 42: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

42SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 43: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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*

43SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 44: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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.

44SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 45: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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 Time Restore and Geo-Restore. Azure SQL Database provides up to 200% of your

maximum provisioned database storage 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 be provided 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 retention period supported by the service tier of the database. Restoring creates a new

database with the same service tier that 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 new database will also be a Premium database and the performance level is set

to P1

45SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 46: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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.

46SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 47: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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 a summary 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 use this feature to manually backup or configure your own

backup strategy like you would for a local storage or other 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.

47SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 48: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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 the Blob storage you have an

extra layer of protection in the event of a disaster that could affect the whole region. In addition,

backups are 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 storage might require physical transportation to an off-site facility and

measures to protect the media. Storing your backups in Windows Azure 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 and provide 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 Billing Considerations section for more information and links.

48SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 49: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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 Windows Azure 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

disks for 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 directly available to either an on-premises SQL Server or another SQL Server

running in a Windows Azure Virtual Machine, without the need for database

attach/detach or downloading and attaching the VHD.

49SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 50: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

PART THREE: Cloud

Page 51: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

51SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 52: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

PART THREE: 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

52SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 53: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

PART THREE: Cerebrata

Do it all with Azure Management Studio

• Storage Accounts

• Blob Containers

• List blobs

• List tables

• List entities

• List queues

• Microsoft Azure diagnostics

• Diagnostics Logs

• Highly configurable dashboard

• Microsoft Azure PowerShell

• Microsoft Azure Management

• Subscriptions

• Virtual Machines

• Service Bus

• SQL Database

53SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 54: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

Don’t Ask Me…

Page 55: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

59SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 56: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

APPENDIX: links & demos

Page 57: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

61SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 58: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

62SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 59: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

63SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 60: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

Just Azure

http://JustAzure.com64

SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 61: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

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

65SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 62: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

PLEASE REMEMBER:

Raffle at the End

Feedback on site

66SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud

Page 63: KoprowskiT_SQLRelay2014#5_Newcastle_FromPlanToBackupToCloud

Thank You Very Much

Q & A

67SQL Relay 2014 | Newcastle Oct 27th | KoprowskiT - SQL Azure From Plan To

Backup To Cloud