我有一个非常大的表,有时我需要更改其架构、添加新列或更改现有列的类型。
这需要很多时间(小时),我想知道是否有任何方法可以事先知道它需要多少时间(大约),或者当alter 运行时,我想知道它当前的进度(即完成 30%)。
这可能吗?
最佳答案
否 - 不存在此类功能。
我将回应评论者@Kermit 和@Damien_The_Unbeliever 建议的解决方法,您应该创建一个具有所需架构的新表,并将行分批移动到该表(使用游标)。这种方法可以让您PRINT
进度反馈,并且对启动的事务日志大小更友好。
关于sql-server - SQL 服务器 - 估计执行时间并获取更改表命令的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16338593/