最近我们从一个非常大的生产数据库中归档了一些数据,需要缩小所有数据文件以重新获取磁盘空间。
问题是它花费了太多时间,我们无法找出完成了多少工作,DBCC ShrinkDatabase
因此我们可以估计剩余的执行时间。
有什么快速的方法来获得DBCC ShrinkDatabase
任务的完成百分比吗?
最近我们从一个非常大的生产数据库中归档了一些数据,需要缩小所有数据文件以重新获取磁盘空间。
问题是它花费了太多时间,我们无法找出完成了多少工作,DBCC ShrinkDatabase
因此我们可以估计剩余的执行时间。
有什么快速的方法来获得DBCC ShrinkDatabase
任务的完成百分比吗?
好吧,恕我直言,您永远不应该使用
DBCC SHRINKDATABASE
- 如果您根本需要缩小文件,您应该三思而后行,甚至三思而后行,甚至在确实有必要的奇怪情况下(提示:这应该很少见) ,您应该使用 . 单独定位每个文件DBCC SHRINKFILE
。请阅读本页上的每一个字。无论如何,您可以使用以下命令查看进度:
的文档
sys.dm_exec_requests
。无需重新发明轮子,Adam Machanic 编写了一个有用的存储过程来替换
SP_Who
和SP_Who2
. 你可以在这里免费找到它。( http://whoisactive.com/ )
这个存储过程有一个“
Percent_Complete
”列,它告诉你服务器完成了多少%的数据库收缩。