尝试更改数据库以启用快照读取已提交。由于数据库中有 CHECKPOINT 进程,因此该语句未运行。
我怎样才能将进程启动到另一个数据库以便可以运行该命令?
谢谢
答案1
最终起作用的是这个...
在另一个数据库中,运行此语句 - 没有必要运行完整的百万行。
CREATE TABLE PageCheck
(
c1 INT IDENTITY ,
c2 CHAR(5000) NOT NULL
)
DECLARE @i INT
SET @i = 1
BEGIN TRAN
WHILE @i <= 1000000
BEGIN
IF @i % 100 = 0
BEGIN
COMMIT TRAN
BEGIN TRAN
END
INSERT PageCheck
( c2 )
VALUES ( ' ' )
SET @i = @i + 1
END
COMMIT TRAN
USE OTHER_DB
GO
CHECKPOINT
GO
USE MYDB
ALTER DATABASE MYDB
SET read_committed_snapshot ON
GO
我曾尝试在另一个数据库中运行检查点,但没有任何工作要做,因此过程没有切换。