Backup de banco de dados com script T-SQL - Problema com Declare e Set Variables

1

Alguém pode me dizer por que não posso fazer backup do meu banco de dados com o script abaixo? Eu posso executar o script, mas ele não criou o backup.
Eu estou usando o SQL Server 2008

DECLARE @pathName NVARCHAR(512)
SET @pathName = 'C:\Backup\MyBackup.bak'

...

EXEC sp_add_jobstep
...
@command = 'BACKUP DATABASE MyBackup TO DISK = @pathName WITH INIT',
...
    
por Mr.X 14.10.2012 / 20:06

1 resposta

1

Você analisou o link ?

Parece que você está tentando inserir uma variável local em um trabalho do SQL Server Agent.

Com base nesta seção:

[ @command= ] 'command'

The commands to be executed by SQLServerAgent service through subsystem. 

command is nvarchar(max), with a default of NULL. SQL Server Agent provides token substitution that gives you the same flexibility that variables provide when you write software programs.

Você pode tentar usar tokens em vez de variáveis locais. Este artigo pode ser um bom ponto de partida para você: link

Como aponta, sua solução vai parecer algo como :

@command = 'BACKUP DATABASE MyBackup TO DISK = $(ESCAPE_SQUOTE (@pathName)) WITH INIT'
    
por 15.10.2012 / 22:07