有人能告诉我为什么我不能用下面的脚本备份我的数据库? 我可以运行该脚本,但它没有创build备份。
我使用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', ...
你看过http://msdn.microsoft.com/en-us/library/ms187358%28v=sql.100%29.aspx ?
它看起来像你试图插入一个本地variables到SQL Server代理作业。
基于这一部分:
[@ command =]'command'
The commands to be executed by SQLServerAgent service through subsystem.命令是nvarchar(max),默认为NULL。 SQL Server代理提供令牌replace,为您提供variables在编写软件程序时提供的相同的灵活性。
你可能想尝试使用令牌,而不是局部variables。 本文可能是您的一个很好的起点: http : //msdn.microsoft.com/en-us/library/ms175575%28v=sql.100%29.aspx
正如它指出的,你的解决scheme看起来像这样 :
@command = 'BACKUP DATABASE MyBackup TO DISK = $(ESCAPE_SQUOTE (@pathName)) WITH INIT'