Não é possível alterar um banco de dados do usuário

2

Tentando alterar um banco de dados para ativar o snapshot_read_committed. A instrução não está em execução devido ao processo CHECKPOINT estar no banco de dados.

Como posso retroceder os processos em outro banco de dados para que eu possa executar este comando?

Obrigado

    
por Sam 27.09.2011 / 19:36

1 resposta

1

O que acabou funcionando foi isso ...

Em outro banco de dados, execute esta instrução - não é necessário executar o total de milhões de linhas.

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

Eu tentei executar o ponto de verificação em outro banco de dados, mas não havia nenhum trabalho a ser feito, então o processo não foi alternado.

    
por 27.09.2011 / 23:10