我有许多数据库要维护,并且我不想为每个环境创建一个脚本,所以我创建了同义词并结合链接服务器来抽象出我的更新语句的表。
我的问题是我似乎无法更新超过 24-32 个字符的 varchar(max) 字段(而且它会有所不同!)
我一直在研究网络,但找不到任何与此直接相关的内容。(更新:链接到我的工作站,而不是通过网络连接到服务器,本地链接的 sql 服务器更新正常。我认为这是主机的一部分环境问题?也许是一些定义的限制?)
下面是我如何设置的示例。
--I create some dynamic sql to create the sysnonyms for me.
declare @Synonym varchar(30) = 'sym_Employee'
declare @DBTable = 'Employee'
Select @Stmt = 'create synonym ' + @Synonym + ' for TargetSQLServer.' + @DBName + '.dbo.' + @DBTable + ';'
exec @Stmt
--this statment stops at 24 chars, but the column def is varchar(max)
update sym_employee
set Notes = '012345678901234567890123456789'
where employee_ID = 1