Firma Microsoft rozpowszechnia poprawki Microsoft SQL Server 2005, Microsoft SQL Server 2008 i Microsoft SQL Server 2008 R2 jako pliki do pobrania. Ponieważ poprawki są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzednich wersjach programu SQL Server 2005, Microsoft SQL Server 2008 i SQL Server 2008 R2 rozwiązanie.Poprawka opisana w tym artykule jest dostępna dla następujących wersji programu SQL Server:
-
Microsoft SQL Server 2005 z dodatkiem Service Pack 3 (SP3)
-
Microsoft SQL Server 2005 z dodatkiem Service Pack 4 (SP4)
-
Microsoft SQL Server 2008 z dodatkiem Service Pack 1 (SP1)
-
Microsoft SQL Server 2008 z dodatkiem Service Pack 2 (SP2)
Symptomy
Rozpatrzmy następujący scenariusz:
-
Serwer połączony można utworzyć na komputerze z uruchomionym programem Microsoft SQL Server 2005, Microsoft SQL Server 2008 lub Microsoft SQL Server 2008 R2. Serwer połączony wskazuje źródło danych OLE DB na serwerze zdalnym.
-
Można utworzyć synonim dla tabeli na serwerze połączonym.
-
Użytkownik tworzy zdefiniowaną przez użytkownika opcję używającą synonimu lub tworzy widok, który używa synonimu. Następnie uruchamiasz zapytanie w odniesieniu do funkcji zdefiniowanej przez użytkownika lub widoku.Uwaga Po uruchomieniu kwerendy jest buforowany plan wykonania.
-
Wykonywanie operacji na serwerze zdalnym umożliwia zaktualizowanie wersji schematu tabeli na serwerze połączonym. Na przykład odbudowano indeks tabeli na serwerze zdalnym, aby zaktualizować wersję schematu tabeli na serwerze połączonym.
-
Uruchamiamy kolejne zapytanie dotyczące funkcji zdefiniowanej przez użytkownika lub widoku.
W tym scenariuszu zostanie wyświetlony komunikat o błędzie podobny do następującego:
Serwer: Msg 7359, numerpoziomu poziomu, numer stanuw wierszu, numer wierszawiersza, dostawca OLE DB "Nazwa dostawcy" dla połączonego serwera "Nazwa serwera połączonego" zgłosiła zmianę w wersji schematu między godziną kompilacji ("czas kompilacji") i godziną wykonania ("czas wykonania") dla tabeli "Nazwa połączonej tabeli".
Nazwa dostawcy notatek to symbol zastępczy reprezentujący nazwę dostawcy OLE DB. Nazwa tabeli połączonej jest symbolem zastępczym odpowiadającym nazwie tabeli znajdującej się na serwerze połączonym.
Przyczyna
Ten problem występuje, ponieważ istniejący plan wykonania nie jest poprawnie czyszczony. Spowoduje to zmianę wersji schematu, ponieważ funkcja zdefiniowana przez użytkownika lub widok jest ponownie kompilowana po uruchomieniu drugiego zapytania. Z tego powodu Wystąpił błąd.
Rozwiązanie
Informacje o aktualizacji zbiorczej
SQL Server 2008 R2 z dodatkiem Service Pack 1
Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 1 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2544793 Pakiet aktualizacji zbiorczej 1 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 1Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń dołączone do poprzedniej wersji poprawki SQL Server 2008 R2. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2567616 Kompilacje programu SQL Server 2008 R2, które zostały wydane po opublikowaniu dodatku Service Pack 1 dla programu SQL Server 2008 R2
SQL Server 2008 R2
Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 7. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji dla programu SQL Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2507770 Pakiet aktualizacji zbiorczej 7 dla programu SQL Server 2008 R2 Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń dołączone do poprzedniej wersji poprawki SQL Server 2008 R2. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
981356 Kompilacje programu SQL Server 2008 R2, które zostały wydane po opublikowaniu programu SQL Server 2008 R2
Program SQL Server 2005 z dodatkiem SP3
Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 15. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2005 z dodatkiem SP3, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2507766 Pakiet aktualizacji zbiorczej 15 dla programu SQL Server 2005 z dodatkiem SP3 Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń dołączone do poprzedniej wersji poprawki SQL Server 2005 z dodatkiem SP3. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
960598 Kompilacje programu SQL Server 2005 wydane po opublikowaniu dodatku SP3 dla programu SQL Server 2005
SQL Server 2005 z dodatkiem SP4
Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 3. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2005 z dodatkiem SP4, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2507769 Pakiet aktualizacji zbiorczej 3 dla programu SQL Server 2005 z dodatkiem SP4Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej wersji programu SQL Server 2005 z dodatkiem SP4. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
937137 Kompilacje programu SQL Server 2005 wydane po opublikowaniu dodatku SQL Server 2005 SP4
Program SQL Server 2008 z dodatkiem SP1
Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 13. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 z dodatkiem SP1, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2497673 Pakiet aktualizacji zbiorczej 13 dla programu SQL Server 2008 z dodatkiem SP1 Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2008 SP1. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
970365 Kompilacje programu SQL Server 2008 wydane po opublikowaniu dodatku SP1 dla programu SQL Server 2008
Program SQL Server 2008 z dodatkiem SP2
Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 3. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 z dodatkiem SP2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2498535 Pakiet aktualizacji zbiorczej 3 dla programu SQL Server 2008 z dodatkiem SP2Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki programu SQL Server 2008 z dodatkiem SP2. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2402659 Kompilacje programu SQL Server 2008 wydane po opublikowaniu dodatku SP2 dla programu SQL Server 2008
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Więcej informacji
Aby uzyskać więcej informacji na temat tworzenia synonimu przy użyciu języka Transact-SQL, odwiedź następującą witrynę internetową Microsoft Developer Network (MSDN):