SQL Server - 估计执行时间并获取 alter table 命令的进度

dud*_*mar 6 sql-server performance sql-server-2012

我有一个非常大的表,例如,我需要不时更改其架构、添加新列或更改现有列的类型。

这需要很多时间(几个小时),我想知道是否有任何方法可以事先知道需要多少时间(大约),或者,当更改运行时,我想知道它当前的进度(即已完成 30%)。

这可能吗?

Mon*_*ton 0

不 - 不存在这样的功能。

我只是回应评论者 @Kermit 和 @Damien_The_Unknowner 在这里建议的解决方法,您应该创建一个具有所需架构的新表,并批量将行移动到其中(使用游标)。这种方法允许您PRINT反馈进度,并且对启动的事务日志大小更友好。