KB4466108 - CORREÇÃO: fazer backup de um banco de dados SQL Server usando um aplicativo de backup VSS pode falhar após a instalação do SQL Server 2016 e 2017

Aplica-se A
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)

Sintomas

Tenha em conta o seguinte cenário:

  • Executar um servidor que hospeda várias instâncias com diferentes versões principais, incluindo não apenas o Microsoft SQL Server 2008, 2008 R2, 2012 ou 2014, mas também o SQL Server 2016 ou 2017 (isso inclui instâncias de edições leves, como o SQL Express).

Nesse cenário, o aplicativo VSS pode não coletar com êxito bancos de dados SQL Server. Além disso, poderá receber uma mensagem de erro nos registos de eventos de aplicações do Windows que é semelhante à seguinte:

Para uma instância do SQL Server 2008 OR 2008 R2

Nota

Estado de erro: 1, gravidade: 16
Fonte: Microsoft SQL Server Native Client 11.0
Mensagem de erro: nome de objeto inválido 'master.sys.availability_replicas'.

Observação: O erro ocorrerá ao executar a seguinte consulta:
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 E 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)

Para uma instância do SQL Server 2012 ou SQL Server 2014 que hospeda bancos de dados secundários do grupo de disponibilidade AlwaysOn

Nota

Estado de erro: 1, gravidade: 16
Fonte: Microsoft SQL Server Native Client 11.0
Mensagem de erro: o nome da coluna "basic_features" é inválido.

E, neste caso, a consulta que atinge o erro será:

Nota

'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 + ''' ) E replica_server_name = ''' + @INSTANCENAME + ''' E ar.replica_id = rs.replica_id E ar.group_id = ag.group_id'

Resolução

Este problema foi corrigido nas seguintes atualizações cumulativas para SQL Server:

Atualização cumulativa 12 para SQL Server 2017

Atualização cumulativa 4 para SQL Server 2016 SP2

Acerca das atualizações cumulativas para SQL Server

Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e correções de segurança que foram incluídos com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:

Atualização cumulativa mais recente para o SQL Server 2017

Atualização cumulativa mais recente para o SQL Server 2016

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Referências

Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software.