Sintomi
Considerare lo scenario descritto di seguito:
-
Si esegue un server che ospita più istanze con versioni principali diverse, tra cui non solo Microsoft SQL Server 2008, 2008 R2, 2012 o 2014, ma anche SQL Server 2016 o 2017 (include istanze di edizioni leggere, ad esempio SQL Express).
-
Si installa l' aggiornamento cumulativo 2 (cu 2) per SQL server 2016 SP2 e l' aggiornamento cumulativo 10 (cu 10) per SQL Server 2017.
-
Per eseguire il backup di qualsiasi database in un'istanza di SQL Server della versione 2008, 2008 R2, 2012 o 2014, è possibile usare un'applicazione di servizio Copia Shadow del volume (VSS).
-
In alternativa, è possibile avviare un backup abilitato per VSS della VM a livello di host di virtualizzazione quando il server è una macchina virtuale.
In questo scenario l'applicazione VSS potrebbe non raccogliere correttamente i database di SQL Server. Inoltre, potresti ricevere un messaggio di errore nei registri eventi applicazione Windows simile al seguente:
Per un'istanza di SQL Server 2008 o 2008 R2
Stato errore: 1, gravità: 16 Origine: Microsoft SQL Server Native Client 11,0 Messaggio di errore: nome oggetto non valido "master.sys.availability_replicas". Nota: L'errore si verifica quando si esegue la query seguente: 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 come d in DB_ID (''' + @DatabaseName +''') = D.DATABASE_ID e AR.REPLICA_ID = D.REPLICA_ID inner join master.sys.dm_hadr_availability_replica_states come St in AR.replica_id = St.replica_id e St. Role = 2
Per un'istanza di SQL Server 2012 o SQL Server 2014 che ospita i database secondari di gruppi di disponibilità AlwaysOn
Stato errore: 1, gravità: 16 Origine: Microsoft SQL Server Native Client 11,0 Messaggio di errore: nome di colonna non valido 'basic_features'.
E in questo caso la query che colpisce l'errore sarà:
' selezionare database_id, ar.replica_id, replica_server_name, is_primary_replica, ar.group_id, basic_features da master.sys.availability_replicas AR, master.sys.dm_hadr_database_replica_states RS, master.sys.availability_groups AG, dove database_id = DB_ID (''' + @DatabaseName +''') e replica_server_name =''' + @INSTANCENAME +''' e ar.replica_id = rs.replica_id e ar.group_id = AG.group_id '
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli aggiornamenti rapidi e le correzioni di sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.