OLE DB在编译时和运行时错误之间报告了模式版本的更改

时间:2018-05-23 08:02:55

标签: sql sql-server oledb linked-server sql-server-2016-sp1

我有一个适用于存档和查询的查询删除。存储过程将数据从链接服务器获取到另一个服务器。然后sp从源服务器删除插入的行。

Stack

当我手动运行sp时,通常它正在工作。但有时sp会给出如下错误。此外,当我尝试从Windows服务运行sp时,它经常出错。 Table_B_1,Table_B_2和Table_B_3正在收集(它们是Table_B的数据,如数字,文件等),但Table_B(主要和重要的表)没有收集。

链接服务器“Server_2”的OLE DB提供程序“SQLNCLI11”报告了表“”DB_2“。”dbo“的编译时间(”185688636079091“)和运行时间(”185718681838570“)之间的架构版本更改。表-B “”

如果我开始服务工作超过50-60次,参数大约10个表正在存档但其他人没有。我需要一个解决方案。

SQL Server版本相同。一台机器是快照机器。版本是:

Microsoft SQL Server 2016(SP1)(KB3182545) - 13.0.4001.0(X64)

1 个答案:

答案 0 :(得分:0)

关于stackoverflow here的相同问题。

解决方案是:
1.安装Mitch Wheat建议的Microsoft修复程序
2.删除表别名
3.运行DBCC FREEPROCCACHE WITH NO_INFOMSGS;(解释为here