Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server, Convertendo NTEXT para NVARCHAR(MAX)


Se você não conseguir um tempo de inatividade programado....

crie duas novas colunas:nvarchar(max)processedflag INT DEFAULT 0

Crie um índice não clusterizado na bandeira processada

Você tem UPDATE TOP disponível para você (você deseja atualizar o topo ordenado pela chave primária).

Basta definir o sinalizador processado para 1 durante a atualização para que a próxima atualização seja atualizada apenas onde o sinalizador processado ainda for 0

Você pode usar @@rowcount após a atualização para ver se pode sair de um loop.

Sugiro usar WAITFOR por alguns segundos após cada consulta de atualização para dar a outras consultas a chance de adquirir bloqueios na tabela e não sobrecarregar o uso do disco.