Backup With Access Key Credential

Continuando a nossa série Backup Database DB TO URL = ‘Blob Storage’, falaremos hoje sobre uma das formas de realizar este backup.

Para realizarmos o backup para o Blob Storage, temos que criar uma credencial no SQL Server e para este tipo de operação, temos dois tipos de credenciais:

  • Access Key Credential;
  • Shared Access Signature.

Neste post, falaremos somente da Access Key Credential.

Independente da forma que iremos realizar nosso Backup, será necessário criar uma credencial no SQL Server.

Para realizar o backup com a Access Key Credential, temos que ter em mãos a Storage Account Name e a Key do Storage. Para identificar esta informação em seu Blob Storage, basta ir na coluna “Access Keys” que fica no canto esquerdo da parte gráfica:

CreateCredential1

CreateCredential2

Neste nosso exemplo, estamos utilizando uma storage account com o nome StgComunidadeSQLServer1 do tipo General PurposeV1(GPV1).

De posse desta informação, iremos criar a credencial na minha instância SQL Server com a seguinte Sintaxe:


CREATE CREDENTIAL BlobGP1

WITH IDENTITY = 'Storage Account Name',

SECRET = 'Key1 or Key2'

Para conferir se a credencial foi criada conforme desejado, basta realizar a consulta na seguinte DMV:


SELECT *

FROM sys.credentials

CreateCredential3

 

Após criar a credencial, realizaremos o Backup para o Blob Storage utilizando a sintaxe BACKUP DATABASE passando a URL do contêiner onde ficará meus Backups. Para identificar a URL do meu contêiner, basta realizar os seguintes passos:

BackupToURL1

Dentro da minha Storage Account “stgcomunidadesqlserver1” clicar na opção “Blobs”.

 

backuptourl2

Dentro da opção “Blob” clicar no contêiner “Backup”.

 

backuptourl3

Dentro do contêiner “backup”, clicar em “Propriedades”.

Ps: Podemos observar que neste momento o meu contêiner está vazio não possuindo nenhum backup.

backuptourl4

Dentro das propriedades no contêiner, copiamos a URL para utilizar em meu comando de Backup.

Agora basta realizar o seu backup, passando a URL que acabamos de capturar no Azure, mais o nome do backup que será realizado. Na opção “With” passar a credencial que criamos com todas as informações de acesso ao Blob.


BACKUP DATABASE ComunidadeSQLServer TO URL = 'https://stgcomunidadesqlserver1.blob.core.windows.net/backup/comunidadesqlserver.bak'

WITH CREDENTIAL = 'BlobGP1', STATS = 10

Agora vamos observar o resultado do meu Backup:

backuptourl5

Indo novamente em meu contêiner “Backup” (que anteriormente estava vazio), podemos encontrar o backup realizado.

Como podemos observar, quando realizamos um backup com a opção “with credential” e passando a credencial do Blob, o backup vai como tipo “page”.

Agora que meu backup está sendo realizado corretamente, não preciso me preocupar com mais nada, correto?

Errado! Além da rotina de expurgo que temos que definir para o nosso ambiente de acordo com as regras e necessidades do negócio, temos que nos preocupar com o custo que este tanto de backup armazenado vai gerar para empresa em que trabalho.

No Azure, somos cobrados por quantidade em GB que armazenamos em nossa Storage Account. Então temos que ter uma combinação adequada de tipo de storage account + tipo de performance+ camada de acesso para termos um custo benefício ideal.

Neste meu exemplo, estou realizando o backup para a Storage Account do tipo GPV1 e ela está indo com o tipo de blob “page”. Para este tipo de blob nesta storage account, temos a seguinte precificação:

Price1

Fonte: https://azure.microsoft.com/en-us/pricing/details/storage/page-blobs/

Podemos observar que esse valor é para performance do tipo Standard, se fosse Premium seria muito mais caro.

Agora se observarmos a Storage Account do tipo “Blob” podemos perceber que os valores são bem mais em conta:

Price2

Fonte: https://azure.microsoft.com/en-us/pricing/details/storage/blobs/

Mesmo na camada Hot já fica mais barato. Mudando para a camada Cool, diminuiremos bastante o preço e dependendo do seu período de retenção e colocando na camada de acesso Archive, o preço por GB cairia significantemente.

Há Raiane, se é assim então, porquê não realizamos o nosso backup direto para o storage account do tipo blob?

Lembram que no post anterior foi informado que neste tipo de storage account não aceitamos blobs do tipo PAGE? Pois é… Infelizmente realizando o backup com o tipo de credencial Access Key ele vai com o tipo PAGE, não podendo realizar diretamente para o a storage account do tipo blob.

Para solucionarmos esse problema, vamos então criar uma rotina que passar esse backup que acabamos de realizar do Storage GPV1 para o Storage Blob, desta forma podemos continuar realizando o nosso backup com a access key credential e economizar uma grana com armazenamento.

Então para não me prolongar muito, no próximo post falaremos sobre Rotina de transferir Blob do tipo Page de uma Storage Account GPV1 para a Storage Account Blob  com access tier Cool.

 

Até o próximo post!

Voltar ao post de controle. 

5 comentários sobre “Backup With Access Key Credential

  1. Pingback: BACKUP DATABASE DB TO URL = ‘BLOB STORAGE’ – Comunidade SQL Server

  2. Pingback: Limitações/Erros (Access Key Credential) – Comunidade SQL Server

  3. Pingback: Introdução ao Blob Storage – Comunidade SQL Server

  4. Pingback: Backup With SAS Credential – Comunidade SQL Server

  5. Pessoal estou precisando selecionar os dados do dia 1º do corrente mês até o a data atual, e também selecionar para o mesmo range de dias no mês anterior passado.
    Exemplo: se hoje fosse 15/08/2020 selecionar do dia 01/08/2020 até 15/08/2020 e também do 01/07/2020 até o dia 15/07/2020 isso automaticamente sem passar no select a data fixa. Alguém pode me ajudar?

Deixe um comentário