Симптоми
Имайте предвид сценария, описан по-долу:
- Използвате сървър, който хоства множество екземпляри с различни основни версии, включително не само Microsoft SQL Server 2008, 2008 R2, 2012 или 2014, но също и SQL Server 2016 или 2017 (това включва екземпляри на леки издания, като например SQL Express).
- Инсталирате сборна актуализация 2 (CU 2) за SQL Server 2016 SP2 и сборна актуализация 10 (CU 10) за SQL Server 2017.
- Можете да използвате приложение за услуга за скрито копиране на томове (VSS), за да архивирате всяка база данни в екземпляр на SQL Server на версия 2008, 2008 R2, 2012 или 2014.
- Или започвате архивно копие на VM с активиран VSS на ниво хост за виртуализация, когато сървърът е виртуална машина.
В този случай VSS приложението може да не събере успешно бази данни на SQL Server. Освен това може да получите съобщение за грешка в регистрационните файлове на събитията на приложения в Windows, което е подобно на следното:
За екземпляр на SQL Server 2008 ИЛИ 2008 R2
Забележка
Състояние на грешка: 1, Степен на сериозност: 16
Източник: Microsoft SQL Server Native Client 11.0
Съобщение за грешка: Невалидно име на обект 'master.sys.availability_replicas'.
Забележка: Тази грешка ще възникне, когато изпълните следната заявка:
declare @sql nvarchar(MAX)DECLARE @DatabaseName VARCHAR(256)set @DatabaseName =N'master'set @sql = SELECT 1 FROM master.sys.availability_replicas AS ar INNER JOIN master.sys.databases AS d ON DB_ID(''' + @DatabaseName + ''') = d.database_id AND ar.replica_id = d.replica_id INNER JOIN master.sys.dm_hadr_availability_replica_states AS st ON ar.replica_id = st.replica_id AND st.role = 2'EXEC(@sql)
За екземпляр на SQL Server 2012 или SQL Server 2014, хостващ вторични бази данни за група за наличност на AlwaysOn
Забележка
Състояние на грешка: 1, Степен на сериозност: 16
Източник: Microsoft SQL Server Native Client 11.0
Съобщение за грешка: Невалидно име на колона 'basic_features'.
И в този случай заявката, която удря грешката, ще бъде:
Забележка
'SELECT database_id, ar.replica_id, replica_server_name, is_primary_replica, ar.group_id, basic_features FROM master.sys.availability_replicas AR, master.sys.dm_hadr_database_replica_states RS, master.sys.availability_groups AG WHERE database_id = DB_ID(''' + @DatabaseName + ''' ) AND replica_server_name = ''' + @INSTANCENAME ''' AND ar.replica_id = rs.replica_id AND ar.group_id = ag.group_id'
Решение
Този проблем е решен в следните кумулативни актуализации за SQL Server:
Сборна актуализация 12 за SQL Server 2017
Сборна актуализация 4 за SQL Server 2016 SP2
За кумулативните актуализации за SQL Server
Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били включени в предишната кумулативна актуализация. Прегледайте последните кумулативни актуализации за SQL Server:
Последна сборна актуализация за SQL Server 2017
Последна сборна актуализация за SQL Server 2016
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.
Справки
Научете повече за терминологията , която Microsoft използва за описване на актуализациите на софтуера.