【问题标题】:Override file while backup database备份数据库时覆盖文件
【发布时间】:2012-11-22 11:42:21
【问题描述】:

我想用这段代码备份一个数据库

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

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

BACKUP DATABASE 是否有强制替换的选项?

【问题讨论】:

    标签: sql-server database backup database-backups


    【解决方案1】:

    INIT 可以解决问题。来自MSDN

    INIT 指定应覆盖所有备份集

    【讨论】:

      【解决方案2】:
      sqlcmd -S servername -Q "BACKUP DATABASE [DBName] TO DISK = 'C:\backup.bak' WITH INIT"
      

      【讨论】:

        【解决方案3】:

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

        其中 SQ_P 是数据库名称

        【讨论】:

        • 请编辑您的答案!这个问题不需要新的答案,而且您的答案不是答案问题格式的最低要求。请阅读帮助中心
        【解决方案4】:

        WITH INIT 还不够。这些天应该是WITH INIT, SKIPDocs

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

        【讨论】:

          猜你喜欢
          • 2023-03-26
          • 1970-01-01
          • 1970-01-01
          • 2021-05-09
          • 2012-01-15
          • 1970-01-01
          • 2019-06-07
          • 1970-01-01
          • 2019-11-24
          相关资源
          最近更新 更多