我正在部署我的数据库,我或多或少地清空了数据库(数据),然后创建了一个备份。
.bak文件超过100mb。
这是为什么? 我怎么把它弄下来?即时使用sql server 2008
答案 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,其余部分可能在日志文件中。