我今天回到一台机器上工作,并注意到我的批处理文件不再可以使用备份数据库命令备份我的数据库副本。
windows server 和 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 的 express 版本,因为您无法像真正的那样在 express 版本上创建作业,所以我必须使用两个批处理文件系统,其中一个备份,另一个清除以控制文件夹。