我对一个数据库有问题。问题如下:在过去6年中,数据库在Server 2000标准上以完全恢复模式运行。
在今年夏天开始的时候,数据库大约是5GB。
从那以后,我们所做的唯一超出正常使用范围的事情就是删除了一些内容。
本周,PC出现了问题,我被迫在SQLServer2008R2 Express上进行备份和恢复,并在2008年模式下设置数据库。
备份文件大约是1GB。当我恢复它时,MDF是9GB的大小!我检查了旧的中密度纤维板,它的尺寸是一样的。
我检查了表的大小,它们无法达到所报告的9GB!
我做了心理医生,但尺寸没有改变。
有什么线索或者去哪里查?
是否有可能完全恢复,会影响MDF文件的大小?
我正在考虑将恢复模型设置为简单、备份和恢复它.会有什么不同吗?我能在现场数据库上做吗?
提前鸣谢!
更新:数据库的初始大小为1306 MB。
UPDATE2 sp_spaceused:数据库Size=8646.88 MB未分配的Space= 0.00 MB
reserved=1336984 KB data=1020376 KB index_size=210408 KB unused=106200 KB
发布于 2013-08-05 13:09:54
该数据库在过去6年中一直以完全恢复模式在Server 2000标准上运行。
这是fin,只要您正在进行常规的完整备份和日志备份,以控制日志文件大小。这里有很多关于日志管理的文章和问题。
在今年夏天开始的时候,数据库大约是5GB。从那以后,我们所做的唯一超出正常使用范围的事情就是删除了一些内容。
大的删除是可以的,但要理解的是,除非您缩小了数据文件,否则不会将所使用的数据空间释放回操作系统。
本周,PC出现了问题,我被迫在SQLServer2008R2 Express上进行备份和恢复,并在2008年模式下设置数据库。
我希望你测试了你的代码!从SQL 2000到SQL 2008 R2,to语法发生了很大的变化.我支持许多数据库,这些数据库都是由于这些更改而崩溃的。还请注意,Express对数据库的大小有限制,使用SQL 2008 R2为10 R2
备份文件大约是1GB。当我恢复它时,MDF是9GB的大小!我检查了旧的中密度纤维板,它的尺寸是一样的。我检查了表的大小,它们无法达到所报告的9GB!
当您对数据库进行备份时,备份只会获取数据本身以及数据库的一些配置信息。其中一个配置项是数据和日志文件的初始大小。如果您检查了数据库属性,您可能会发现数据文件(MDF)的初始大小设置为9GB。
我做了心理医生,但尺寸没有改变。
数据库收缩很可能是您执行的。虽然不明智,但如果您需要重新获得磁盘空间,或者只是将数据库的数据文件(MDF)置于控制之下,则需要执行data文件收缩。同样,在MSDN和博客文章中也有很多文章提供了这样做的方法。
是否有可能完全恢复,会影响MDF文件的大小?
不是的。
我正在考虑将恢复模式设置为简单、备份和恢复.会有什么不同吗?
和你的数据文件一样大,不是。
发布于 2013-08-05 15:04:10
试着运行以下代码:
EXEC sp_msforeachtable 'EXEC sp_spaceused [?]'如果您注意到任何表的unused列中的值过多,则运行以下命令:
ALTER INDEX ALL ON <TableName> REBUILD或者使用您选择的重建索引方法。但是,您想要进行完全重建,因为我不相信reorg会清理不必要的未使用的空间。
Fyi的excessive,我指的是任何在10-100毫巴范围或更高的表上,实际上是使用不到两倍的自由空间。或者任何一张桌子有一个很大的未使用空间。我不想亲自在5GB的桌子上看到1GB的未使用的空间。虽然我通常不会检查这个,除非有实际的空间问题。
对于unnecessary unused space,我的意思是,您的一个或多个表可能保留了大量的空间,而这些空间可能是不太可能使用的,或者根本无法使用。只有当它变得过分时,才会有问题。
一旦重建(S)完成,尝试sp_spaceused,看看它是否解决了问题。如果是的话你可以再试一次你的心理医生。要指出的是,这是少数几个心理医生是合理的案例之一。您有一个数据库,在还原之前(2000年)是5 GB,现在在恢复之后是9 GB,因此希望不需要额外的空间。
如果我不得不猜测,额外的空间是由2000年到2008年的R2升级造成的。我以前从来没有试过这么大的一次跳,所以我不能确定。希望上面的内容能消除它造成的任何额外空间。
发布于 2013-08-05 11:21:21
是的,这是你的恢复模式,如果你使用的是稳定的和备份的,而且不是很大的数据库。(高达100 GB)它的好处是使用简单的恢复模型。
请参考下面的链接。它解释了复苏模型。
http://msdn.microsoft.com/en-us/library/ms189275.aspx
在这一变化中没有这样的问题。
但问题是,你不能恢复事务类的东西,或中间的东西。
否则就很好了。
问候
阿舒托什·阿里亚
https://dba.stackexchange.com/questions/47563
复制相似问题