Str*_*ped 5 sql-server-2008 sql-server
我正在尝试向数据库添加一列。查询已经运行了 25 分钟,它锁定了对该表的 Web 访问并破坏了我们的网站:
alter table MyTable
add MyNewColumn varchar(max) not null
default ('')
Run Code Online (Sandbox Code Playgroud)
该表在不同的列中包含二进制数据并且非常大。
使用红色的“取消执行查询”按钮取消会导致其他问题吗?我只是想弄清楚此时是否应该尝试取消查询,以及它运行了这么长时间后会发生什么。
你的方法有几个问题:
如果您尝试取消查询,您可能会成功,也可能不会成功,取消可能会很快,也可能需要另外 25 分钟或更长时间,具体取决于当前进度的位置(可能因锁定而阻塞或可能正在进行)。在后一种情况下,求助于绝望并尝试重新启动服务器将导致数据库恢复持续更长时间。
小智 5
添加新列所需的时间取决于表中的数据量。如果您运行sp_who2 active
以查看进程 ID 是什么,您就可以完成kill
这项工作。它将进入回滚状态,但会将表恢复到原来的状态。
你不应该在不知道这个过程需要多长时间的情况下尝试改变生产系统的表。
归档时间: |
|
查看次数: |
6416 次 |
最近记录: |