HI 我已经制作了一个维护包,其中使用了针对特定数据库的shrink数据库任务,它运行成功,发现以前的db大小略有增加。 运行包装后的初始尺寸(129 gb)(130 gb)。
我期待它缩小后应该缩小?可能会发生什么?我确定计划运行的程序包并检查找到的历史记录是否成功运行。
任何帮助/请告知所需的任何特殊护理,提前致谢。
答案 0 :(得分:10)
在维护期间不要缩小数据库。可能没有其他更具破坏性的行动。阅读更多Auto-shrink – turn it OFF。如果数据库已经增长到一定的大小,那么如果你缩小它,它可能会重新增长。缩小数据库极大地会破坏索引碎片,并会降低报告和分析工作负载的速度。一旦收缩,当数据库在正常操作期间重新生成时,自动增长事件将在增长期间中断并冻结数据库。
由于某些流氓行为导致数据库失控,因此缩小数据库是有一回事的。但是要在维护任务中缩小,意味着你将在预定的时间间隔内不断进行,这是非常糟糕。
答案 1 :(得分:2)
有几件事你可以检查一下。在SQL Server Management Studio(SSMS),对象资源管理器中,右键单击数据库名称,然后选择“属性”。在“常规”选项卡上,您将找到“可用空间”值。有空位吗?
请注意,可用空间包括事务日志文件中的空间。您需要该空间,因此您不希望过多地缩小数据库。
答案 2 :(得分:2)
另外,请记住,您的数据库可能处于完全恢复模式。这意味着,当数据在数据库中插入,更新和删除时,sql server会将其记录在数据库日志中。在繁忙的数据库上,此日志可能会变得非常大。您可以通过执行完全备份来减小日志的大小。请记住,日志的重点是您可以进行日志备份并进行时间点恢复。如果您没有这样做,或者不需要这样做,您可能会考虑将数据库转为简单恢复模式。