我是一名软件开发人员,除了基础知识外,对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目录中的数据库文件.mdf
为0.92 GB,.ldf
为1.2 GB。并且数据库设置为完全恢复模式。
数据库引擎是SQL Server 2008 R2(版本10.50.2500.0)
如果我使用SQL Server Management Studio界面创建完整后台,则它占用0.93 GB。
与手动创建单个完整备份文件相比,有人可以解释一下如何才能达到如此大的.bak
文件(65 GB)?
答案 0 :(得分: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
所有详细信息都可以在BACKUP DATABASE
命令的official MSDN SQL Server Books Online documentation中找到....