链接服务器的 OLE DB 提供程序报告了模式版本错误的更改

OLE DB provider for linked server reported a change in schema version Error

我有一份夜间工作,它通过执行存储过程更新 table,但它每 2-3 天就会失败一次。

DECLARE @return_value int

EXEC    @return_value = [dbo].[sp_SRA_Analysis_Union]

SELECT  'Return Value' = @return_value

错误信息如下:

Step Name       update table
Duration        00:00:30
Sql Severity        16
Sql Message ID      7359
Operator Emailed        
Operator Net sent       
Operator Paged      
Retries Attempted       0



      Message
Executed as user: NT AUTHORITY\SYSTEM. 
The OLE DB provider "SQLNCLI10" for linked server "SQL05" 
reported a change in schema version between 
compile time ("182390105529348") and 
run time ("182402990418943") for table "dbo"."CL_Midpoint"". 
[SQLSTATE 42000] (Error 7359).  The step failed.

任何idea/suggestions如何避免这种情况?

谢谢, AR

今天遇到完全相同的错误。做了一些研究并发现了这个:https://support.microsoft.com/en-us/kb/2498818

这似乎是使用链接服务器和引用链接服务器的 synonym/aliases and/or 视图时的错误。在我们的例子中,我们有一个从 SQL Server 2014 到 SQL Server 2008R2 的链接服务器。在使用链接服务器访问的 table 上进行重新索引操作 运行(并且查询使用链接服务器资产的 table 别名),我们收到此错误。

有两件事对我有用: 1. 重新运行 SP 就可以了。 2. 删除了 SP 查询中的 table 别名,这也解决了未来的问题。

通过问题数据库中的以下 sql 查询修复了它:

DBCC FREEPROCCACHE WITH NO_INFOMSGS;  

在何处删除导致问题的查询的缓存。