无法使用SQLCMD进行备份和还原

时间:2014-06-30 01:15:37

标签: sql-server cmd sqlcmd

我尝试从备份中恢复数据库。

我使用的 BACKUP sqlcmd是以下

sqlcmd -e -s [SERVERNAME] -q "backup database [DATABASE_NAME] to disk ='[BackupLocation]'"

对于 RESTORE ,我使用以下sqlcmd进行还原。

sqlcmd -e -s [SERVERNAME] -q "restore database [DATABASENAME] from disk ='[BackUpLocation]"

当我尝试恢复数据库时,我收到此错误。

  

消息3159,级别16,状态1.服务器[服务器名称],第1行   数据库日志的尾部" [DATABASE_NAME]"已备注备注。使用BACKUP   LOG WITH WITH RECOVERY或RESTORE语句的WITH STOPAT子句只是覆盖日志的内容。   消息3013,级别16,状态1,服务器[服务器名称],第1行   RESTORE DATABASE异常终止。

我正在尝试合并尾部日志备份,但我似乎无法找到方法,我不断收到如下所示的错误。我已经在备份sqlcmd的末尾添加了WITH NORECOVERY,但没有运气。

  

消息3032,级别16,状态2,服务器[SERVERNAME],第1行   此语句不支持一个或多个选项。查看支持选项的文档。

有谁知道我该如何完成这项任务?备份和恢复成功

1 个答案:

答案 0 :(得分:0)

您必须使用norecovery备份日志才能获得尾部日志备份。所以,backup log [yourDatabase] to disk='your log file' with norecovery。或者,如果您只是在玩游戏(或者正在合法地替换您的数据库,只需将with replace添加到恢复命令。