1

我需要创建一个具有表外键的新Users表。

用户表有 200 万条记录。

当我在我们的测试服务器上运行脚本时,它会锁定此表,并且测试用户在事务期间无法查询此表。

查询开始像;

BEGIN TRANSACTION
GO
ALTER TABLE dbo.Users SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
/*CREATE NEW TABLE AND FOREIGN KEYS HERE*/

在不锁定生产环境的情况下安全运行的方法是什么?

我们是否应该将生产服务器设置为“维护模式”并在 sql 事务完成后重新设置?

4

1 回答 1

0

要创建新表及其外键,甚至新表索引,您无需锁定或设置引用表的 lock_escalation(在您的情况下为 dbo.Users)。只需不运行上述事务,只需创建新表和外键即可。

于 2013-04-09T00:46:41.080 回答