Estou usando o backup do banco de dados Ola Hallengrens e estou tentando fazê-lo funcionar com o parâmetro de URL.
Eu primeiro configurei uma credencial de acesso compartilhado em SQL com o seguinte sql
USE MASTER
CREATE CREDENTIAL [https://exampleblob.blob.core.windows.net/backups]
WITH IDENTITY='SHARED ACCESS SIGNATURE'
,SECRET = 'sv=2015-04-05&ss=bf&srt=sco&sp=rwd&se=2030-11-14T20:07:06Z&st=2016-11-13T12:07:06Z&spr=https&sig=KEY'
GO
Em seguida, tentei usar o seguinte em meu plano de manutenção de backup de log:
sqlcmd -E -S $(ESCAPE_SQUOTE(SRVR)) -d DBATools -Q \
"EXECUTE [dbo].[DatabaseBackup] \
@Databases = 'USER_DATABASES', \
@BackupType = 'LOG', \
@Verify = 'Y', \
@Compress = 'Y', \
@CheckSum = 'Y', \
@LogToTable = 'Y', \
@ChangeBackupType='Y', \
@url='https://exampleblob.blob.core.windows.net/backups', \
@Credential='https://exampleblob.blob.core.windows.net/backups'" -b
No entanto, quando executo o trabalho, recebo o seguinte erro
O uso da sintaxe WITH CREDENTIAL não é válido para credenciais contendo uma assinatura de acesso compartilhado
Acabei de encontrar esse problema também criando um plano de manutenção no SQL Server. O plano de manutenção de backup padrão cria um script que inclui
WITH CREDENTIAL
, mas consegui fazê-lo funcionar quando removi essa tarefa padrão. Então, acabei com este código em uma tarefa de instrução T-SQL de execução:Se você abrir Propriedades de 'Tarefa de backup do banco de dados' e definir 'CredentialName' como vazio, salvar o plano e executar a tarefa será bem-sucedido.
Tentei com SSMS 13.0.16100.1