Symptom
Tänk dig följande scenario:
- Du kör en server som är värd för flera instanser med olika huvudversioner, inklusive inte bara Microsoft SQL Server 2008, 2008 R2, 2012 eller 2014, utan även SQL Server 2016 eller 2017 (Detta inkluderar versioner av förenklade utgåvor som SQL Express).
- Du installerar kumulativ uppdatering 2 (CU 2) för SQL Server 2016 SP2 och kumulativ uppdatering 10 (CU 10) för SQL Server 2017.
- Du använder ett VSS-program (Volume Shadow Copy Service) för att säkerhetskopiera alla databaser i en SQL Server-instans av version 2008, 2008 R2, 2012 eller 2014.
- Eller så initierar du en VSS-aktiverad säkerhetskopiering av den virtuella datorn på virtualiseringsvärdnivå när servern är en virtuell dator.
I det här scenariot kanske VSS-programmet inte lyckas samla in SQL Server databaser. Dessutom kan du få ett felmeddelande i händelseloggarna för Windows-program som liknar följande:
För en SQL Server 2008 ELLER 2008 R2-instans
Obs
Feltillstånd: 1, allvarlighetsgrad: 16
Källa: Microsoft SQL Server Native Client 11.0
Felmeddelande: Ogiltigt objektnamn master.sys.availability_replicas.
Notera: Felet visas när du kör följande fråga:
deklarera @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)
För en SQL Server 2012- eller SQL Server 2014-instans som är värd för AlwaysOn tillgänglighetsgrupp sekundära databaser
Obs
Feltillstånd: 1, allvarlighetsgrad: 16
Källa: Microsoft SQL Server Native Client 11.0
Felmeddelande: Ogiltigt kolumnnamn basic_features.
Och i det här fallet kommer frågan som träffar felet att vara:
Obs
'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'
Lösning
Det här problemet åtgärdas i följande kumulativa uppdateringar för SQL Server:
Kumulativ uppdatering 12 för SQL Server 2017
Kumulativ uppdatering 4 för SQL Server 2016 SP2
Om kumulativa uppdateringar för SQL Server
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Senaste kumulativa uppdateringen för SQL Server 2017
Senaste kumulativa uppdateringen för SQL Server 2016
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Referenser
Läs mer om den terminologi som Microsoft använder för att beskriva programuppdateringar.