Symptômes
Supposons que vous utilisez un groupe haute disponibilité Always On comme réplica secondaire. Lorsque vous essayez de mettre à niveau Microsoft SQL Server 2016 vers service pack 2 (SP2) mise à jour cumulative 11 (CU11) ou versions ultérieures, le script de mise à niveau échoue et vous pouvez recevoir les messages d’erreur suivants :
DateTime spidSpidId Upgrading subscription settings and system objects in database [DatabaseName].
DateTime spidSpidId Échec de la mise à jour de la base de données « DatabaseName » car la base de données est en lecture seule.
DateTime spidSpidId Erreur lors de l’sp_vupgrade_replication.
Cause
Lorsqu’une mise à niveau est effectuée sur le réplica secondaire d’une SQL SECTEUR, la récupération de base de données et l’exécution du script de mise à niveau sont en cours d’exécution. Par conséquent, le curseur que vous utilisez à l’sp_vupgrade_replication ne peut pas filtrer correctement les bases de données en lecture seule. Pendant un court moment, les bases de données secondaires de la phase de récupération sont incluses dans la liste des bases de données modifiables. Par conséquent, lorsque vous tentez de mettre à jour ces bases de données, une exception est renvoyée, car les bases de données sont en lecture seule.
État
Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « S’applique à ».
Résolution
Ce problème a été résolu dans les mises à jour cumulatives suivantes pour SQL Server :
À propos des mises à jour cumulatives SQL Server :
Chaque nouvelle mise à jour cumulative SQL Server contient tous les correctifs et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Références
En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.