Hybrid Cloud–SQL Server 2014 Backup para Windows Azure

Posted on julho 31, 2013

1


Assim como novos recursos para a plataforma de dados, o SQL Server 2014 vem com diversos novos recursos para integração com Windows Azure. Na verdade, como anúnciado pela Microsoft, seus olhos e investimentos estão voltados totalmente para terminologias como: Windows Azure, DevOps e Better Together. São nomes nos quais serão cada vez mais destacados e mostrados dentro da nossa comunidade. No TechEd 2013 em New Orleans evento no qual estive, o grande foco da Microsoft foi justamente promover a integração de todas as ferramentas para On-Cloud ou seja, trazer a facilidade, habilidade de se trabalhar com serviços na nuvem. Depois de ter mostrados IAAS (InfraEstrutura como um Serviço) o Azure mais do que nunca ganhou um espaço ainda maior.

Para resaltar a viabilidade do poder do Windows Azure, o SQL Serve 2014 possui novos recursos alguns já disponíveis no CTP1 e outros ainda não, como Smart Backup e o Windows Azure Storage Integration que provavelmente serão liberados somente no CTP2, nesse post irei falar sobre um recurso já disponível no SQL Serve 2012 CTP1 CU2 que é o backup do banco de dados no Windows Azure.

Backup para Windows Azure

Para entendermos realmente esse recurso, primeiramente devemos compreender que o Windows Azure – http://www.windowsazure.com/en-us/ oferece um serviço chamado de Windows Azure Storage – http://www.windowsazure.com/en-us/documentation/services/storage/ que nada mais é do que uma solução de armazenamento de Blobs como arquivos binários, arquivos textos além do armazenamento de dados não estruturados, com isso, o SQL Server ganha seu espaço podendo armazenar arquivos dentro dessa estrutura.

Primeiro passo é possuir uma conta no WindowsAzure – http://www.windowsazure.com/en-us/, após isso iremos realizar a criação de um Windows Azure Storage

Screen Shot 2013-07-30 at 11.37.47 PM

(Figura 1 – Criando o Windows Azure Storage.)

Dentro do portal do WindowsAzure em NEW – Data Services – Storage, logo após em Quick Create e coloque o nome, com isso você irá escolher a localidade, deixando habilitado Geo-Replication com isso você garante que seus dados estão replicados em outros DataCenter do Windows Azure.

Screen Shot 2013-07-30 at 11.48.45 PM

(Figura 2 – Colocando o nome do Windows Azure Storage e habilitando a Geo-Replicação.)

Screen Shot 2013-07-30 at 11.55.30 PM

(Figura 3 – Verificando a criação do Storage.)

Agora com o Storage criado, iremos criar um CONTAINER, local aonde será armazenado os backups do SQL Server. Clicando no nome do seu storage no meu caso – sqlserverluanmoreno irá te direcionar a outro painel, no qual haverá uma aba chamada de container, após isso você irá criar um.

Screen Shot 2013-07-30 at 11.58.37 PM

(Figura 4 – Criando o Container.)

Agora que temos o Storage e Container criado, iremos para o SQL Server. Iremos criar uma credencial para acesso ao Windows Azure dentro do SQL Server.

USE master

go

 

CREATE CREDENTIAL StorageWindowsAzure

WITH IDENTITY = ‘sqlserverluanmoreno’,

SECRET = ‘aahamsau1ba8fna1f1b176261bs1g001-a—1-

 

A credencial deve ser criada com cuidado, até porque temos algumas partes importantes que são:

WITH IDENTITY – Aqui deve ser especificado o nome do Azure Storage que você criou no meu caso o nome que criamos na demo é sqlserverluanmoreno.

SECRET – É a chave do Azure Storage que foi criada, para encontrar essa chave vá na página do Azure Storage, está logo embaixo em Manage Access Keys, com isso pegue a “Primary Access Key” e coloque no campo.

Após criarmos a credencial para acesso no Wndows Azure Storage, agora iremos realizar o backup de um banco de dados, antes disso verificando a credencial criada temos……

SELECT *

FROM sys.credentials

Screen Shot 2013-07-31 at 12.09.21 AM

(Figura 5 – Verificando a credencial criada no SQL Server.)

Criando o backup para o Storage do Windows Azure…….

BACKUP DATABASE NorthWind

TO URL = http://sqlserverluanmoreno.blob.core.windows.net/basedados/NorthWind_20130731.bak’

WITH CREDENTIAL = ‘StorageWindowsAzure’, INIT, COMPRESSION, STATS = 5

20 percent processed.
40 percent processed.
61 percent processed.
81 percent processed.
85 percent processed.
90 percent processed.
95 percent processed.
Processed 512 pages for database ‘NorthWind’, file ‘Northwind’ on file 1.
Processed 112 pages for database ‘NorthWind’, file ‘NorthWindDados’ on file 1.
100 percent processed.
Processed 2 pages for database ‘NorthWind’, file ‘Northwind_log’ on file 1.
BACKUP DATABASE successfully processed 626 pages in 6.586 seconds (0.741 MB/sec).

A simplicidade realmente é algo maravilhoso nessa integração, o que mudou é somente a troca do TO DISK para TO URL passando a URL do Storage do Windows Azure  mais o nome do backup e extensão .BAK, com o nome da credencial que nós criamos anteriormente.

Verificando o backup no Windows Azure (Acessando o CONTAINER)…….

Screen Shot 2013-07-31 at 12.18.43 AM

Verificando o backup no SQL Server…….

Screen Shot 2013-07-31 at 12.20.28 AM

 

Com isso vemos a grande facilidade da criação de um backup de banco de dados dentro do Windows Azure Storage, a grande vantagem desse recurso é possuir a alta disponibilidade, fácil acesso e segurança dos seus arquivos de backup na Cloud. Uma grande forma de pensar nisso é imaginar essa solução para seu plano de DR (Disaster Recory) assim você garante ainda mais a alta disponibilidade dos seus arquivos de backup de banco de dados podendo ainda voltar sua base de dados point-in-time.