47

我想使用此代码备份数据库

sqlcmd -S servername -Q "BACKUP DATABASE [DBName] TO DISK = 'C:\backup.bak'"

有用。但如果备份文件已经存在,则数据会附加到文件中,而不是替换文件。每次我调用BACKUP DATABASE文件都会变大。

有没有BACKUP DATABASE强制更换的选项?

4

4 回答 4

81
sqlcmd -S servername -Q "BACKUP DATABASE [DBName] TO DISK = 'C:\backup.bak' WITH INIT"
于 2012-12-04T18:54:45.160 回答
29

INIT成功了。来自MSDN

INIT 指定应覆盖所有备份集

于 2012-12-04T18:54:23.260 回答
1

WITH INIT是不足够的。应该是WITH INIT, SKIP这几天。文档

说明:INIT仅在满足某些条件时才覆盖。SKIP指示忽略这些条件。

于 2021-12-18T22:29:09.403 回答
0

BACKUP DATABASE SQ_P TO DISK='D:\Data Backup\SQ_P.bak' with init;

其中 SQ_P 是数据库名称

于 2021-10-05T18:59:25.937 回答