将 SQL Server 从 2019 年升级到 2022 后,以下使用链接服务器的查询开始失败(为了简单起见,我省略了一些列名称和详细信息):
UPDATE [<remote server>].[<remote db>].dbo.Projects
SET RemoteColumnName = p.LocalColumnName
FROM prod.Projects p
WHERE p.ProjectID = Projects.ProjectID;
Run Code Online (Sandbox Code Playgroud)
然而,不涉及本地表工作的基本更新就很好了。SQL Server 报告以下错误,我什至在文档中找不到该错误:
UPDATE [<remote server>].[<remote db>].dbo.Projects
SET RemoteColumnName = p.LocalColumnName
FROM prod.Projects p
WHERE p.ProjectID = Projects.ProjectID;
Run Code Online (Sandbox Code Playgroud)
两台服务器都是 SQL Server 2022,在升级之前一切正常。
为本地和远程表添加 DDL,以防万一。但是,问题似乎与模式无关,并且在具有不同数据类型的不同表上重现。
-- Table on the remote linked server
CREATE TABLE dbo.Projects
(
ProjectID BIGINT NOT NULL,
RemoteColumnName VARCHAR(255) NOT NULL,
CONSTRAINT PK_Projects PRIMARY KEY CLUSTERED (ProjectID)
)
-- Table on the local server
CREATE …Run Code Online (Sandbox Code Playgroud)