CORRECTIF : Des erreurs se produisent après l’application d’une mise à jour cumulative à un instance de SQL Server qui a un groupe de disponibilité autonome

Symptômes

Prenons l’exemple du scénario suivant :

  • Vous disposez d’un instance de SQL Server 2022 sur lequel un groupe de disponibilité autonome est déployé.
  • Vous créez des objets au niveau du serveur (connexions et travaux) dans le contexte du groupe de disponibilité autonome.

Dans ce scénario, l’une des erreurs suivantes se produit après l’installation d’une mise à jour cumulative sur cette instance de SQL Server.

Erreur 1

Le SQL Server Agent travail échoue avec le message d’erreur suivant :

Impossible de démarrer l’exécution de l’étape 2 (raison : JobOwner <JobOwner> ne dispose pas des autorisations nécessaires pour utiliser le proxy <#> pour le sous-système SSIS).  L’étape a échoué.

Le journal des erreurs SQL Server Agent enregistre les messages d’erreur qui ressemblent aux suivants :

<Horodatage> - ! [298] Erreur SQLServer : 208, nom d’objet « syssubsystems » non valide. [SQLSTATE 42S02]
<Horodatage> - ! [517] Numéro d’erreur SQL 208, gravité 16

À ce stade, la syssubsystems table est manquante dans la msdb base de données du groupe de disponibilité contenu et existe dans la base de données de niveau msdb instance. Pour corriger ces erreurs et permettre aux travaux de s’exécuter correctement, vous pouvez copier manuellement la table de niveau syssubsystems instance dans la msdb base de données du groupe de disponibilité autonome en vous connectant à l’écouteur et en créant la table et les lignes de la table.

Erreur 2

Après avoir créé un groupe de disponibilité autonome, le message d’erreur suivant s’affiche toutes les cinq secondes :

Processus activé '[dbo]. [sp_syspolicy_events_reader]' en cours d’exécution sur la file d’attente '<AGName>_AG_SYNC_CONTAINED_msdb.dbo.syspolicy_event_queue' génère la sortie suivante : « Impossible d’exécuter en tant que principal de base de données, car le principal « ##MS_PolicyEventProcessingLogin## » n’existe pas, ce type de principal ne peut pas être emprunté ou vous n’avez pas d’autorisation. »

Erreur 3

Une fois que Database Mail cesse de fonctionner, la tentative d’exécution de la sysmail procédure stockée signale un message d’erreur semblable au suivant :

Objet '[dbo]. [sp_syspolicy_events_reader] » n’existe pas dans la base de données « master » ou n’est pas valide pour cette opération.

Erreur 4

Après avoir créé un groupe de disponibilité autonome, si vous vous connectez à l’écouteur du groupe de disponibilité autonome et créez un principal de connexion SQL Server, l’erreur suivante s’affiche dans SQL Server Management Studio (SSMS) lorsque vous vous connectez à l’aide du principal de connexion :

Erreur de connexion à <votre écouteur>
Échec de la récupération des données pour cette demande. (Microsoft.SqlServer.Management.Sdk.Sfc)
Une exception s’est produite lors de l’exécution d’une instruction Transact-SQL ou d’un lot. (Microsoft.SqlServer.ConnectionInfo)
L’autorisation EXECUTE a été refusée sur l’objet « xp_msver », la base de données « mssqlsystemresource », le schéma « sys ». (Microsoft SQL Server, Erreur : 229)

Cette erreur se produit parce que le public rôle ne reçoit pas l’autorisation sur la EXECUTExp_msver procédure stockée étendue sur le groupe de disponibilité autonome (AG) master.

Résolution

Ce problème est résolu dans la mise à jour cumulative suivante pour SQL Server :

Mise à jour cumulative 4 pour SQL Server 2022

À propos des mises à jour cumulatives pour SQL Server

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et correctifs de sécurité qui se trouvaient dans la build précédente. Nous vous recommandons d’installer la dernière build pour votre version de SQL Server :

Dernière mise à jour cumulative pour SQL Server 2022

État

Microsoft étudie actuellement ces problèmes. Cet article sera mis à jour à mesure que nous trouverons plus d’informations ou de conseils. En attendant, vous pouvez prendre les précautions nécessaires suivantes avant d’installer une mise à jour cumulative d’une installation qui a un groupe de disponibilité autonome :

  • Scriptez les objets de niveau serveur et les objets SQL Server Agent.
  • Supprimez le groupe de disponibilité autonome.
  • Appliquez la mise à jour cumulative.
  • Recréez le groupe de disponibilité autonome.

Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « Produits concernés ».

References

Découvrez la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.