KB2498818 – RETTELSE: Fejl 7359, når du kører en forespørgsel i forhold til en brugerdefineret funktion eller en visning, der bruger et synonym på en sammenkædet server i SQL Server 2005, SQL Server 2008 eller SQL Server 2008 R2

Gælder for
Microsoft SQL Server 2005 Service Pack 3 Microsoft SQL Server 2005 Service Pack 4 SQL Server 2008 Service Pack 2 Microsoft SQL Server 2005 SQL Server 2008 SQL Server 2008 R2

Microsoft distribuerer rettelser til Microsoft SQL Server 2005, Microsoft SQL Server 2008 og Microsoft SQL Server 2008 R2 som én fil, der kan downloades. Da rettelserne er kumulative, indeholder hver ny version alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den tidligere version af SQL Server 2005-, Microsoft SQL Server 2008- og SQL Server 2008 R2-rettelsen.

Den rettelse, der er beskrevet i denne artikel, er tilgængelig til følgende versioner af 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)

Symptomer

Overvej følgende scenarie:

  • Du opretter en sammenkædet server på en computer, der kører Microsoft SQL Server 2005, Microsoft SQL Server 2008 eller Microsoft SQL Server 2008 R2. Den sammenkædede server peger på en OLE DB-datakilde på en fjernserver.

  • Du opretter et synonym for en tabel på den sammenkædede server.

  • Du opretter en brugerdefineret funktion, der bruger synonymet, eller du opretter en visning, der bruger synonymet. Derefter kører du en forespørgsel mod den brugerdefinerede funktion eller visningen.

    Bemærk, at når du kører forespørgslen, cachelagres en eksekveringsplan.

  • Du udfører en handling på en fjernserver for at opdatere skemaversionen af tabellen på den sammenkædede server. Du kan f.eks. genopbygge indekset for tabellen på fjernserveren for at opdatere skemaversionen for tabellen på den sammenkædede server.

  • Du kører en anden forespørgsel i forhold til den brugerdefinerede funktion eller visningen.

I dette scenarie får du vist en fejlmeddelelse, der ser nogenlunde sådan ud:

Bemærk

Server: Msg 7359, niveaunummer, statens statsnummer, linjelinjenummer
OLE DB-provideren "Provider Name" for den sammenkædede server "Navn på sammenkædet server" har rapporteret en ændring i skemaversion mellem kompileringstid ("Kompileringstid") og kørselstid ("Kørselstid") for tabellen "Navn på sammenkædet tabel".

Bemærk! Providernavnet er en pladsholder, der repræsenterer navnet på OLE DB-provideren. Navnet på den sammenkædede tabel er en pladsholder, der repræsenterer navnet på den tabel på den sammenkædede server.

Årsag

Dette problem opstår, fordi den eksisterende eksekveringsplan ikke er ryddet korrekt. Dette medfører, at skemaversionen ændres, fordi den brugerdefinerede funktion eller visningen kompileres igen, når den anden forespørgsel køres. Derfor opstår fejlen.

Løsning

Oplysninger om kumulativ opdatering

SQL Server 2008 R2 Service Pack 1

Løsningen på dette problem blev først udgivet i Cumulative Update 1 til SQL Server 2008 R2 Service Pack 1. Få flere oplysninger om, hvordan du henter denne kumulative opdateringspakke, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2544793 Samlet opdateringspakke 1 til SQL Server 2008 R2 Service Pack 1Bemærk Da builds er kumulative, indeholder hver ny rettelsesversion alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den tidligere version af SQL Server 2008 R2-rettelsen. Vi anbefaler, at du overvejer at anvende den nyeste rettelsesversion, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2567616 De SQL Server 2008 R2-builds, der blev udgivet efter SQL Server 2008 R2 Service Pack 1 blev udgivet

SQL Server 2008 R2

Rettelsen til dette problem blev først udgivet i Samlet opdatering 7. Få flere oplysninger om, hvordan du får fat i denne kumulative opdateringspakke til SQL Server 2008 R2, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2507770 Samlet opdateringspakke 7 til SQL Server 2008 R2 Bemærk Da builds er kumulative, indeholder hver ny rettelsesversion alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige version af SQL Server 2008 R2-rettelser. Vi anbefaler, at du overvejer at anvende den nyeste rettelsesversion, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

981356 De SQL Server 2008 R2-builds, der blev udgivet efter SQL Server 2008 R2 blev frigivet

For SQL Server 2005 SP3

Rettelsen til dette problem blev først udgivet i den samlede opdatering 15. Få flere oplysninger om, hvordan du får fat i denne kumulative opdateringspakke til SQL Server 2005 SP3, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2507766 kumulativ opdateringspakke 15 til SQL Server 2005 SP3
Bemærk, at da builds er kumulative, indeholder hver ny rettelsesversion alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige version af SQL Server 2005 SP3-rettelsen. Vi anbefaler, at du overvejer at anvende den nyeste rettelsesversion, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

960598 De SQL Server 2005-builds, der blev udgivet efter SQL Server 2005 SP3 blev udgivet

For SQL Server 2005 SP4

Rettelsen til dette problem blev først udgivet i den samlede opdatering 3. Få flere oplysninger om, hvordan du får fat i denne kumulative opdateringspakke til SQL Server 2005 SP4, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2507769 kumulativ opdateringspakke 3 til SQL Server 2005 SP4
Bemærk, at da builds er kumulative, indeholder hver ny rettelsesversion alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige version af SQL Server 2005 SP4-rettelsen. Vi anbefaler, at du overvejer at anvende den nyeste rettelsesversion, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

937137 De SQL Server 2005-builds, der blev udgivet efter SQL Server 2005 SP4 blev udgivet

For SQL Server 2008 SP1

Rettelsen til dette problem blev først udgivet i den samlede opdatering 13. Få flere oplysninger om, hvordan du får fat i denne kumulative opdateringspakke til SQL Server 2008 SP1, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2497673 kumulativ opdateringspakke 13 til SQL Server 2008 SP1
Bemærk, at da builds er kumulative, indeholder hver ny rettelsesversion alle de hotfixes og alle de sikkerhedsrettelser, der var inkluderet i den forrige version af SQL Server 2008 SP1-rettelsen. Vi anbefaler, at du overvejer at anvende den nyeste rettelsesversion, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

970365 De SQL Server 2008-builds, der blev udgivet efter SQL Server 2008 SP1 blev udgivet

For SQL Server 2008 SP2

Rettelsen til dette problem blev først udgivet i den samlede opdatering 3. Få flere oplysninger om, hvordan du får fat i denne kumulative opdateringspakke til SQL Server 2008 SP2, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2498535 kumulativ opdateringspakke 3 til SQL Server 2008 SP2
Bemærk, at da builds er kumulative, indeholder hver ny rettelsesversion alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige version af SQL Server 2008 SP2-rettelsen. Vi anbefaler, at du overvejer at anvende den nyeste rettelsesversion, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2402659 De SQL Server 2008-builds, der blev udgivet efter SQL Server 2008 SP2 blev udgivet

Status

Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".

Flere oplysninger

Du kan finde flere oplysninger om, hvordan du bruger Transact-SQL til at oprette et synonym, på følgende MSDN-websted (MSDN (Microsoft Developer Network)):

Sådan bruger du Transact-SQL til at oprette et synonym