KB4466108 – КОРЕКЦИЯ: Архивирането на база данни на SQL Server с помощта на VSS приложение за архивиране може да е неуспешно след инсталиране на SQL Server 2016 и 2017

Отнася се за
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Симптоми

Имайте предвид сценария, описан по-долу:

  • Използвате сървър, който хоства множество екземпляри с различни основни версии, включително не само Microsoft SQL Server 2008, 2008 R2, 2012 или 2014, но също и SQL Server 2016 или 2017 (това включва екземпляри на леки издания, като например SQL Express).

В този случай 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 използва за описване на актуализациите на софтуера.