Simptome
Luați în considerare următorul scenariu:
- Rulați un server care găzduiește mai multe instanțe cu diferite versiuni majore, incluzând nu doar Microsoft SQL Server 2008, 2008 R2, 2012 sau 2014, ci și SQL Server 2016 sau 2017 (Aceasta include instanțele din ediții ușoare, cum ar fi SQL Express).
- Instalați actualizarea cumulativă 2 (CU 2) pentru SQL Server 2016 SP2 și actualizarea cumulativă 10 (CU 10) pentru SQL Server 2017.
- Utilizați o aplicație Volume Shadow Copy Service (VSS) pentru a efectua copii backup ale oricărei baze de date dintr-o instanță SQL Server versiunea 2008, 2008 R2, 2012 sau 2014.
- Sau inițiați un backup VSS activat al mașinii virtuale la nivel de gazdă de virtualizare atunci când serverul este o mașină virtuală.
În acest scenariu, este posibil ca aplicația VSS să nu colecteze cu succes baze de date SQL Server. În plus, este posibil să primiți un mesaj de eroare în jurnalele de evenimente ale aplicației Windows care seamănă cu următorul:
Pentru o instanță SQL Server 2008 SAU 2008 R2
Notă
Stare eroare: 1, Severitate: 16
Sursă: Microsoft SQL Server Native Client 11.0
Mesaj de eroare: Nume de obiect nevalid "master.sys.availability_replicas".
Notă: Eroarea va apărea atunci când executați următoarea interogare:
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)
Pentru o instanță SQL Server 2012 sau SQL Server 2014, găzduirea bazelor de date secundare ale grupului de disponibilitate AlwaysOn
Notă
Stare eroare: 1, Severitate: 16
Sursă: Microsoft SQL Server Native Client 11.0
Mesaj de eroare: Numele de coloană nevalid "basic_features".
Și, în acest caz, interogarea care ajunge la eroare va fi:
Notă
'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'
Rezolvare
Această problemă este remediată în următoarele actualizări cumulative pentru SQL Server:
Actualizarea cumulativă 12 pentru SQL Server 2017
Actualizarea cumulativă 4 pentru SQL Server 2016 SP2
Despre actualizările cumulative pentru SQL Server
Fiecare actualizare cumulativă nouă pentru SQL Server conține toate remedierile rapide și remedierile de securitate care au fost incluse cu actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Cea mai recentă actualizare cumulativă pentru SQL Server 2017
Cea mai recentă actualizare cumulativă pentru SQL Server 2016
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.
Referințe
Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.