我今天回到机器上工作,发现我的批处理文件不再能使用backup database命令备份我的数据库副本。
对于Windows服务器和SQL Server,服务器都是2008R2。
不到一个月前,这个相同的批处理文件将备份我的数据库。现在,当我手动运行我的sql脚本时,我收到“操作系统错误3 - 无法找到指定的文件”。
这是我的剧本:
DECLARE @FileName varchar(50), @Date varchar(20)
set @Date = REPLACE ((CONVERT (VARCHAR(10), GETDATE(), 101)), '/', '-')
SET @FileName = ('C:\mybkfolder\BackupSQLData\db_dnt_' + @Date + '.bak')
BACKUP DATABASE db_dnt TO DISK = @FileName
Go
我已经验证了sql server在系统帐户下运行。我可以手动从sql management studio备份到相关文件夹。但是,如果我在管理工作室中将我的脚本作为查询运行,我会收到此错误。
我转到此文件夹并设置安全权限,以便SYSTEM帐户具有完全访问权限。然后我去了任务调度程序并确保我的计划任务(运行批处理。批处理调用包含上面脚本的.sql文件)配置为在SYSTEM下运行。仍然没有任何东西在备份。
除了Windows补丁,没有人真的搞乱了机器。是什么导致这种情况停止工作?这是sql server的快速版本,因为你不能在真实版本上创建作业,我必须使用两个批处理文件系统,其中一个备份,另一个清除以保持文件夹受控制。
答案 0 :(得分:0)
这结果是一个不再存在的路径的问题。我的任务称为批处理,批处理称为.sql脚本。我忘了更新sql脚本中的路径,即使我记得在我的批处理文件中这样做。