备份数据库时覆盖文件

jue*_*n d 39 database sql-server backup database-backups

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

sqlcmd -S servername -Q "BACKUP DATABASE [DBName] TO DISK = 'C:\backup.bak'"
Run Code Online (Sandbox Code Playgroud)

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

BACKUP DATABASE强制替换的选择吗?

bum*_*mmi 64

sqlcmd -S servername -Q "BACKUP DATABASE [DBName] TO DISK = 'C:\backup.bak' WITH INIT"
Run Code Online (Sandbox Code Playgroud)


Ser*_*lov 24

INIT诀窍.来自MSDN:

INIT指定应覆盖所有备份集


Ale*_*lex 5

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

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