我是一名软件开发人员,除了基础知识之外,对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
运行此命令几天后,.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)?
该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
所有细节都可以在命令的官方MSDN SQL Server联机丛书文档中找到BACKUP DATABASE
....