sql-server - SQL 服务器 - 估计执行时间并获取更改表命令的进度

标签 sql-server performance sql-server-2012

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

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

这可能吗?

最佳答案

否 - 不存在此类功能。

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

关于sql-server - SQL 服务器 - 估计执行时间并获取更改表命令的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16338593/

相关文章:

php - fatal error : Call to undefined function mssql_connect() or sqlsrv_connect() in xampp

sql-server - 使用 EF Core 插入 SQL Server 时出现事务死锁

c++ - 位压缩结构

python - 为什么我的 python 打印比 Go 的 fmt.Print 和 os.Stdout.Write 运行得更快

sql - 所有可能的组合未透视

C# 直接从 SqlDataReader 填充字典

c# - INSERT 和 UPDATE 的执行状态 - MS SQL Server

MySQL 为什么在有索引时记录为慢查询/日志查询不使用索引?

sql - 基于列值的算术/逻辑运算

sql - 如何查找下一季度值的总和