KB2498818-FIX: felet 7359 när du kör en fråga mot en användardefinierad funktion eller en vy som använder en synonym på en länkad server i SQL Server 2005, SQL Server 2008 eller SQL Server 2008 R2

Gäller för: Microsoft SQL Server 2005 Service Pack 3Microsoft SQL Server 2005 Service Pack 4SQL Server 2008 Service Pack 2

Microsoft distribuerar Microsoft SQL Server 2005, Microsoft SQL Server 2008 och Microsoft SQL Server 2008 R2 som en nedladdnings bar fil. Eftersom de här korrigeringarna är kumulativa innehåller alla nya versioner alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående SQL Server 2005, Microsoft SQL Server 2008 och SQL Server 2008 R2.Den korrigering som beskrivs i den här artikeln är tillgänglig för följande versioner av SQL Server:
  • Microsoft SQL Server 2005 Service Pack 3 (SP3)
  • Microsoft SQL Server 2005 Service Pack 4 (SP4)
  • Microsoft SQL Server 2008 Service Pack 1 (SP1)
  • Microsoft SQL Server 2008 Service Pack 2 (SP2)

Symptom


Tänk dig följande situation:
  • Du skapar en länkad server på en dator som kör Microsoft SQL Server 2005, Microsoft SQL Server 2008 eller Microsoft SQL Server 2008 R2. Den länkade servern pekar på en OLE DB-datakälla på en fjärrserver.
  • Du skapar en synonym till en tabell på den länkade servern.
  • Du skapar en användardefinierad funktion som använder synonymen, eller så skapar du en vy som använder synonymen. Sedan kör du en fråga mot den användardefinierade funktionen eller vyn.Obs! När du kör frågan cachelagras en körnings plan.
  • Du utför en åtgärd på en fjärrserver för att uppdatera schema versionen av tabellen på den länkade servern. Du kan till exempel återskapa indexet för tabellen på fjärrservern för att uppdatera schema versionen av tabellen på den länkade servern.
  • Du kör en ny fråga mot den användardefinierade funktionen eller vyn.
I det här scenariot får du ett fel meddelande av följande slag:
Server: MSG 7359, Level Level Number, State State Number, Line line NumberOLE DB Provider "leverantörs namn" för den länkade servern "länkat Server namn" rapporterade en ändring i schema versionen mellan kompileringstid ("kompileringstid") och kör tid ("Kör tid") för tabell "länkat tabell namn".
Antecknings leverantörens namn är en plats hållare som representerar namnet på OLE DB-providern. Länkat tabell namn är en plats hållare som representerar namnet på tabellen som finns på den länkade servern.

Orsak


Det här problemet beror på att den befintliga körnings planen inte är korrekt avmarkerad. Det gör att schema versionen ändras eftersom den användardefinierade funktionen eller vyn kompileras om när den andra frågan körs. Därför uppstår felet.

Lösning


Kumulativ uppdaterings information

SQL Server 2008 R2 Service Pack 1

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 1 för SQL Server 2008 R2 Service Pack 1. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2544793 Kumulativt uppdaterings paket 1 för SQL Server 2008 R2 Service Pack 1
Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 R2. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2567616 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 Service Pack 1 släpptes

SQL Server 2008 R2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 7. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2008 R2 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2507770 Kumulativt uppdaterings paket 7 för SQL Server 2008 R2
Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 R2. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
981356 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 släpptes

För SQL Server 2005 SP3

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 15. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2005 SP3 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2507766 Kumulativt uppdaterings paket 15 för SQL Server 2005 SP3
Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2005 SP3. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
960598 SQL Server 2005-versioner som släpptes efter SQL Server 2005 SP3 släpptes

För SQL Server 2005 SP4

Korrigeringen för det här problemet släpptes första gången den kumulativa uppdateringen 3. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2005 SP4 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2507769 Kumulativt uppdaterings paket 3 för SQL Server 2005 SP4
Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med den föregående korrigerings versionen av SQL Server 2005 SP4. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
937137 SQL Server 2005-versioner som släpptes efter att SQL Server 2005 SP4 släpptes

För SQL Server 2008 SP1

Korrigeringen för det här problemet släpptes första gången den kumulativa uppdateringen 13. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2008 SP1 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2497673 Kumulativt uppdaterings paket 13 för SQL Server 2008 SP1
Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med den tidigare korrigerings versionen av SQL Server 2008 SP1. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
970365 SQL Server 2008-versioner som släpptes efter att SQL Server 2008 SP1 släpptes

För SQL Server 2008 SP2

Korrigeringen för det här problemet släpptes första gången den kumulativa uppdateringen 3. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2008 SP2 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2498535 Kumulativt uppdaterings paket 3 för SQL Server 2008 SP2
Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 SP2. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2402659 SQL Server 2008-versioner som släpptes efter SQL Server 2008 SP2 släpptes

Status


Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".

Mer information


Mer information om hur du använder Transact-SQL för att skapa en synonym finns på följande Microsoft Developer Network-webbplats (MSDN):