我最近升级到 2008 企业版,并借此机会使用维护窗口更改了我的数据库中最大的表。
运行以下内容来更改我的 ntext 字段
ALTER TABLE acomEstabLocale_tbl ALTER COLUMN [description] nvarchar(MAX)
GO
update acomEstabLocale_tbl set [description] = [description]
当我运行第二个语句时,我得到以下
length of LOB data (77404) to be replicated exceeds the exceeds configured maximum
好的,所以经过一番探索后,我找到了 sp_configure 并运行了:-
EXEC sp_configure ‘max text repl size’, 100000
但现在我收到以下信息
nvarchar max Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
我正在寻找临时延长此查询超时期限,可以使用服务器属性上的远程查询超时设置来完成吗?或者是否有针对此查询的 T-SQL 语句
我不确定您的整个表更新的确切目的是什么,但也许超时是因为您的查询导致:
如果这个表被复制,数据库被镜像,或者你添加了 CDC/Change Tracking,那么我认为情况会更糟。如果表参与复制,您应该阅读本主题。
更新应该做什么?对于这种情况,现在为时已晚,但将来对其他表执行此操作的另一种方法可能是:
当然,这仍然必须在维护窗口中完成。您不希望用户在 2 期间争夺写入。