SQL Server备份文件过度增长

die*_*gol 1 transaction-log database-backups sql-server-2008

我是一名软件开发人员,除了基础知识之外,对SQL Server的专业知识不多.

每天使用SQL Server代理我使用以下命令为每个数据库备份数据库:

BACKUP DATABASE [DatabaseName] 
TO DISK = N'D:\SQLBackups\DatabaseName.bak' 
WITH NOFORMAT, NOINIT, 
     NAME = N'DatabaseName-Full Database Backup', SKIP, NOREWIND, 
     NOUNLOAD, STATS = 10
Run Code Online (Sandbox Code Playgroud)

运行此命令几天后,.bak文件大小已达到65 GB并且还在增长.

DATA目录中的数据库文件为0.92 GB,一个.mdf为1.2 GB .ldf.并且数据库设置为完全恢复模式.

数据库引擎是SQL Server 2008 R2(版本10.50.2500.0)

如果我使用SQL Server Management Studio界面创建完整后台,则它占用0.93 GB.

有人可以解释一下,.bak与手动创建单个完整备份文件相比,如何才能达到如此大的文件(65 GB)?

mar*_*c_s 5

NOINIT选项会将数据附加到单个.bak文件中.使用此语句替换现有.bak文件:

BACKUP DATABASE [DatabaseName] 
TO DISK = N'D:\SQLBackups\DatabaseName.bak' 
WITH NOFORMAT, INIT, 
     NAME = N'DatabaseName-Full Database Backup', SKIP, NOREWIND, 
     NOUNLOAD, STATS = 10
Run Code Online (Sandbox Code Playgroud)

所有细节都可以在命令的官方MSDN SQL Server联机丛书文档中找到BACKUP DATABASE....