空的sql server 2008 db备份文件非常大

时间:2011-03-20 22:06:59

标签: sql sql-server-2008 ssms

我正在部署我的数据库,我或多或少地清空了数据库(数据),然后创建了一个备份。

.bak文件超过100mb。

这是为什么? 我怎么把它弄下来?

即时使用sql server 2008

1 个答案:

答案 0 :(得分:3)

修改

备份时,请注意SQL Server备份文件可以包含多个备份。它默认情况下覆盖。如果选择相同的备份文件而不选择覆盖选项,则只需将另一个备份添加到同一文件中。所以你的文件不断变大。

<小时/> 运行此操作,所有内容都将显示出来:

select dpages *8 [size in kbs]
from sysindexes
where indid <= 1
order by 1 desc

你也可以..

连续执行两个备份以使第二个备份包含最少的日志数据。第一个备份将包含已​​记录的活动,以便能够恢复。第二个将不再包含它们。

如果您在数据库中使用SSSB并且代码不正确,则泄露的Service Broker句柄也存在问题,但如果是这种情况,上面的查询将显示它。


要缩小尺寸,可以使用WITH COMPRESSION,例如

backup database mydb to disk = 'c:\tempdb.bak' with compression

通常会将其降低到大约20%的大小。正如马丁上面评论的那样,也可以运行

exec sp_spaceused

查看数据/日志的分布。根据你的说法,第一个表格为1.5 MB,第45行为8kB,可能占据数十MB,其余部分可能在日志文件中。