Recentemente, atualizei para o 2008 Enterprise e aproveitei para alterar a maior tabela do meu banco de dados com a janela de manutenção.
executei o seguinte para alterar meu campo ntext
ALTER TABLE acomEstabLocale_tbl ALTER COLUMN [description] nvarchar(MAX)
GO
update acomEstabLocale_tbl set [description] = [description]
quando executei a segunda declaração, obtive o seguinte
length of LOB data (77404) to be replicated exceeds the exceeds configured maximum
ok, então depois de dar uma olhada eu encontrei o sp_configure e corri: -
EXEC sp_configure ‘max text repl size’, 100000
mas agora estou recebendo o seguinte
nvarchar max Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Estou procurando estender temporariamente esse período de tempo limite de consulta, isso pode ser feito apenas usando a configuração de tempo limite de consulta remota nas propriedades do servidor? ou existe uma instrução T-SQL apenas para esta consulta
Não tenho certeza exatamente qual é o objetivo de toda a atualização da tabela, mas talvez o tempo limite seja porque sua consulta está causando:
Se esta tabela for replicada, o banco de dados for espelhado ou você tiver adicionado CDC/Change Tracking, acho que será muito pior. Se a tabela estiver participando da replicação, você deve ler este tópico .
O que a atualização deve fazer? Agora é tarde demais para este caso, mas no futuro uma maneira alternativa de fazer isso para outras tabelas pode ser:
Claro que isso ainda tem que ser feito em uma janela de manutenção. Você não quer que os usuários compitam por gravações durante 2.