Symptomy
Rozpatrzmy następujący scenariusz:
-
Uruchomiony jest serwer obsługujący wiele wystąpień z różnymi wersjami głównymi, w tym nie tylko program Microsoft SQL Server 2008, 2008 R2, 2012 lub 2014, ale również program SQL Server 2016 lub 2017 (obejmuje to wystąpienia w wersji uproszczonej, takie jak SQL Express).
-
Instalowana jest Aktualizacja zbiorcza 2 (CU 2) dla programu SQL server 2016 z dodatkiem SP2 i aktualizacji zbiorczej 10 (CU 10) dla programu SQL Server 2017.
-
Aby utworzyć kopię zapasową dowolnej bazy danych w wystąpieniu programu SQL Server w wersji 2008, 2008 R2, 2012 lub 2014, należy użyć aplikacji VSS (Woluminowa usługa kopiowania woluminów w tle).
-
Można też zainicjować kopię zapasową maszyny wirtualnej z włączoną obsługą funkcji VSS na poziomie hosta wirtualizacji, gdy serwer jest maszyną wirtualną.
W tym scenariuszu aplikacja VSS może nie powiodło się zbieranie baz danych programu SQL Server. Ponadto w dziennikach zdarzeń aplikacji systemu Windows może zostać wyświetlony komunikat o błędzie podobny do następującego:
W przypadku wystąpienia programu SQL Server 2008 lub 2008 R2
Stan błędu: 1; ważność: 16 Źródło: program Microsoft SQL Server Native Client 11,0 Komunikat o błędzie: Nieprawidłowa nazwa obiektu "master.sys.availability_replicas". Warto Błąd wystąpi po wykonaniu poniższej kwerendy: DECLARE @sql nvarchar (MAX) DECLARE @DatabaseName varchar (256) set @databasename = N'master'set @sql = wybierz 1 z Master.sys.AVAILABILITY_REPLICAS jako AR INNER JOIN Master. sys. databases jako d w DB_ID (' ' + @DatabaseName + ' ' ') = D.DATABASE_ID i AR.REPLICA_ID = D.REPLICA_ID inner join Master.sys.dm_hadr_availability_replica_states jako St w ar.replica_id
W przypadku wystąpienia programu SQL Server 2012 lub SQL Server 2014 wystąpienie pomocniczych baz danych grupy dostępności funkcji AlwaysOn
Stan błędu: 1; ważność: 16 Źródło: program Microsoft SQL Server Native Client 11,0 Komunikat o błędzie: Nieprawidłowa nazwa kolumny 'basic_features'.
W tym przypadku kwerenda może powodować błąd:
Wybierz kolejno pozycje database_id, ar.replica_id, replica_server_name, is_primary_replica, ar.group_id, basic_features z master.sys.availability_replicas AR, master.sys.dm_hadr_database_replica_states r, master.sys.availability_groups AG, gdzie database_id = DB_ID (' ' + @DatabaseName + ' ' '), a replica_server_name = ' ' + @INSTANCENAME + ' ' i AR.replica_id = rs.replica_id i ar.group_id = AG.group_id
Rozwiązanie
Ten problem został rozwiązany w następujących zbiorczych aktualizacjach programu SQL Server:
Zbiorcza aktualizacja 12 dla programu SQL Server 2017
Zbiorcza aktualizacja 4 dla programu SQL Server 2016 z dodatkiem SP2
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki hotfix i poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2017
Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2016
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Informacje
Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.