【问题标题】:Return value of SQLCMD RESTORE in cmd batchcmd批处理中SQLCMD RESTORE的返回值
【发布时间】:2014-04-23 04:43:06
【问题描述】:
我正在构建一个 cmd 脚本来恢复 SQL Server 数据库,并且我需要知道 RESTORE 是否正常工作,以便执行其他任务。
我的代码:
sqlcmd -S %DATABASE_SERVER% -U user-P password-Q "RESTORE DATABASE %Database% FROM DISK='I:\bakup.bak'"
谢谢
【问题讨论】:
标签:
sql-server
cmd
sqlcmd
【解决方案1】:
备份命令不返回错误代码。此外,备份错误只能在错误日志中找到,而不是在任何系统目录中。
不过,有一个表msdb.dbo.backupset 包含有关成功备份的信息,它可以用来推断备份是否出错。
在进行备份之前记下当前时间,并在备份完成后使用类似这样的查询来检索上次成功备份的时间:
select max(backup_start_date)
from msdb.dbo.backupset
where database_name = 'database_name'
如果返回的时间小于您记录的时间,则有错误。