我想使用此代码备份数据库
sqlcmd -S servername -Q "BACKUP DATABASE [DBName] TO DISK = 'C:\backup.bak'"
有用。但如果备份文件已经存在,则数据会附加到文件中,而不是替换文件。每次我调用BACKUP DATABASE
文件都会变大。
有没有BACKUP DATABASE
强制更换的选项?
我想使用此代码备份数据库
sqlcmd -S servername -Q "BACKUP DATABASE [DBName] TO DISK = 'C:\backup.bak'"
有用。但如果备份文件已经存在,则数据会附加到文件中,而不是替换文件。每次我调用BACKUP DATABASE
文件都会变大。
有没有BACKUP DATABASE
强制更换的选项?
sqlcmd -S servername -Q "BACKUP DATABASE [DBName] TO DISK = 'C:\backup.bak' WITH INIT"
INIT
成功了。来自MSDN:
INIT 指定应覆盖所有备份集
WITH INIT
是不足够的。应该是WITH INIT, SKIP
这几天。文档
说明:INIT
仅在满足某些条件时才覆盖。SKIP
指示忽略这些条件。
BACKUP DATABASE SQ_P TO DISK='D:\Data Backup\SQ_P.bak' with init;
其中 SQ_P 是数据库名称