KB2498818-Fix: Fehler 7359, wenn Sie eine Abfrage für eine benutzerdefinierte Funktion oder eine Ansicht ausführen, die ein Synonym auf einem Verbindungsserver in SQL Server 2005, SQL Server 2008 oder SQL Server 2008 R2 verwendet

Gilt für: Microsoft SQL Server 2005 Service Pack 3Microsoft SQL Server 2005 Service Pack 4SQL Server 2008 Service Pack 2

Microsoft vertreibt Microsoft SQL Server 2005, Microsoft SQL Server 2008 und Microsoft SQL Server 2008 R2-Fixes als eine herunterladbare Datei. Da die Fixes kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2005, Microsoft SQL Server 2008 und SQL Server 2008 R2 enthalten waren.Die in diesem Artikel beschriebene Lösung steht für die folgenden Versionen von SQL Server zur Verfügung:
  • 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)

Problembeschreibung


Stellen Sie sich folgendes Szenario vor:
  • Sie erstellen einen Verbindungsserver auf einem Computer, auf dem Microsoft SQL Server 2005, Microsoft SQL Server 2008 oder Microsoft SQL Server 2008 R2 ausgeführt wird. Der verknüpfte Server verweist auf eine OLE DB-Datenquelle auf einem Remoteserver.
  • Sie erstellen ein Synonym für eine Tabelle auf dem Verbindungsserver.
  • Sie erstellen eine benutzerdefinierte Funktion, die das Synonym verwendet, oder Sie erstellen eine Ansicht, die das Synonym verwendet. Dann führen Sie eine Abfrage für die benutzerdefinierte Funktion oder die Ansicht aus.Hinweis Wenn Sie die Abfrage ausführen, wird ein Ausführungsplan zwischengespeichert.
  • Sie führen einen Vorgang auf einem Remoteserver aus, um die Schemaversion der Tabelle auf dem Verbindungsserver zu aktualisieren. Beispielsweise wird der Index der Tabelle auf dem Remoteserver neu erstellt, um die Schemaversion der Tabelle auf dem Verbindungsserver zu aktualisieren.
  • Sie führen eine andere Abfrage für die benutzerdefinierte Funktion oder die Ansicht aus.
In diesem Szenario wird eine Fehlermeldung etwa folgenden Inhalts angezeigt:
Server: msg 7359, Level -Level-Nummer, bundesstaatliche Nummer, Leitungsnummer der OLE DB-Anbieter "Anbietername" für den Verbindungsserver "Verbindungsservername" hat eine Änderung der SchemaVersion zwischen Kompilierzeit ("Kompilierzeit") und Laufzeit ("Laufzeit") für die Tabelle "verknüpfte Tabellenname" gemeldet.
Hinweis Anbietername ist ein Platzhalter, der den Namen des OLE DB-Anbieters darstellt. Der Name der verknüpften Tabelle ist ein Platzhalter, der den Namen der Tabelle darstellt, die sich auf dem Verbindungsserver befindet.

Ursache


Dieses Problem tritt auf, weil der vorhandene Ausführungsplan nicht ordnungsgemäß gelöscht wurde. Dies bewirkt, dass die Schemaversion geändert wird, da die benutzerdefinierte Funktion oder die Ansicht neu kompiliert wird, wenn die zweite Abfrage ausgeführt wird. Daher tritt der Fehler auf.

Fehlerbehebung


Informationen zum kumulativen Update

SQL Server 2008 R2 Service Pack 1

Der Fix für dieses Problem wurde erstmals im kumulativen Update 1 für SQL Server 2008 R2 Service Pack 1 veröffentlicht. Wenn Sie weitere Informationen zum Abrufen dieses kumulativen Updatepakets benötigen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2544793 Kumulatives Update Paket 1 für SQL Server 2008 R2 Service Pack 1
Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die mit der vorherigen Version von SQL Server 2008 R2 behoben wurden. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2567616 Die SQL Server 2008 R2-Builds, die nach dem Veröffentlichen von SQL Server 2008 R2 Service Pack 1 veröffentlicht wurden

SQL Server 2008 R2

Der Fix für dieses Problem wurde erstmals im kumulativen Update 7 veröffentlicht. Wenn Sie weitere Informationen zum beziehen dieses kumulativen Updatepakets für SQL Server 2008 R2 benötigen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2507770 Kumulatives Update Paket 7 für SQL Server 2008 R2
Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die mit der vorherigen Version von SQL Server 2008 R2 behoben wurden. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
981356 Die SQL Server 2008 R2-Builds, die nach der Veröffentlichung von SQL Server 2008 R2 veröffentlicht wurden

Für SQL Server 2005 SP3

Der Fix für dieses Problem wurde erstmals im kumulativen Update 15 veröffentlicht. Wenn Sie weitere Informationen zum beziehen dieses kumulativen Updatepakets für SQL Server 2005 SP3 erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2507766 Kumulatives Updatepaket 15 für SQL Server 2005 SP3
Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2005 SP3 enthalten waren. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
960598 Die SQL Server 2005-Builds, die nach der Veröffentlichung von SQL Server 2005 SP3 veröffentlicht wurden

Für SQL Server 2005 SP4

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 3 veröffentlicht. Wenn Sie weitere Informationen zum beziehen dieses kumulativen Updatepakets für SQL Server 2005 SP4 benötigen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2507769 Kumulatives Updatepaket 3 für SQL Server 2005 SP4
Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen SQL Server 2005 SP4-Fix-Version enthalten waren. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
937137 Die SQL Server 2005-Builds, die nach der Veröffentlichung von SQL Server 2005 SP4 veröffentlicht wurden

Für SQL Server 2008 SP1

Der Fix für dieses Problem wurde erstmals im kumulativen Update 13 veröffentlicht. Wenn Sie weitere Informationen zum beziehen dieses kumulativen Updatepakets für SQL Server 2008 SP1 erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2497673 Kumulatives Updatepaket 13 für SQL Server 2008 SP1
Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2008 SP1 enthalten sind. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
970365 Die SQL Server 2008-Builds, die nach der Veröffentlichung von SQL Server 2008 SP1 veröffentlicht wurden

Für SQL Server 2008 SP2

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 3 veröffentlicht. Wenn Sie weitere Informationen zum beziehen dieses kumulativen Updatepakets für SQL Server 2008 SP2 erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2498535 Kumulatives Updatepaket 3 für SQL Server 2008 SP2
Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die mit der vorherigen Version von SQL Server 2008 SP2 behoben wurden. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2402659 Die SQL Server 2008-Builds, die nach der Veröffentlichung von SQL Server 2008 SP2 veröffentlicht wurden

Status


Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Weitere Informationen


Weitere Informationen zum Verwenden von Transact-SQL zum Erstellen eines Synonyms finden Sie auf der folgenden Website von Microsoft Developer Network (MSDN):