En tant que consultant SQL Server, j’ai beaucoup appris de mon travail en freelance. Aujourd’hui, je souhaite partager avec vous un problème courant qui peut survenir lors de mises à niveau de SQL Server et comment le résoudre. Le message d’erreur “Échec de la connexion pour l’utilisateur” et “Suppression de l’ensemble de collection” peut être assez frustrant, mais avec les bonnes étapes, vous pouvez le résoudre.
Lors de la mise à niveau de SQL Server vers une nouvelle version, le serveur passe en mode de mise à niveau du script pour terminer le processus de récupération de la base de données. Cependant, parfois, le serveur reste bloqué dans ce mode, ce qui entraîne des échecs de connexion et des problèmes de suppression des ensembles de collection.
Pour résoudre ce problème, j’ai écrit un article de blog il y a quelque temps qui fournit des instructions étape par étape sur la façon de le résoudre. Un de mes clients a suivi ces étapes et a réussi à résoudre le problème. Voici un exemple du message d’erreur qu’ils ont rencontré :
2017-05-16 01:29:18.66 spid7s Création de la fonction [dbo].[fn_sysutility_mi_get_batch_manifest] 2017-05-16 01:29:18.78 spid7s Suppression de l'ensemble de collection "Informations sur l'utilitaire"... 2017-05-16 01:29:42.21 Connexion Erreur : 18401, Gravité : 14, État : 1. 2017-05-16 01:29:42.21 Connexion Échec de la connexion pour l'utilisateur 'India\SQLSvc'. Raison : Le serveur est en mode de mise à niveau du script. Seuls les administrateurs peuvent se connecter à ce moment-là. [CLIENT : ]
Après enquête, j’ai découvert que le client avait deux tables, “sysssislog” et “syscollector_execution_log_internal”, avec un grand nombre d’enregistrements (plus de 400K+). Bien que je n’aie pas pu déterminer la cause exacte de ce problème, cela pourrait être dû à de nombreux packages SSIS ou à un journalisation excessive.
Pour résoudre le problème, j’ai recommandé la solution de contournement/solution suivante à mon client :
- Démarrer le service SQL Server avec le drapeau de trace 902 (en utilisant le paramètre de démarrage -T902).
- Sauvegarder la base de données MSDB et supprimer les données des tables “sysssislog” et “syscollector_execution_log_internal”.
- Supprimer le paramètre -T902 de la configuration du service SQL Server.
- Redémarrer le service SQL Server pour permettre l’exécution du script de mise à niveau.
En suivant ces étapes, mon client a pu résoudre l’erreur de connexion échouée et de suppression de la collection sans avoir à consacrer du temps et des ressources supplémentaires pour enquêter sur la cause profonde.
Il est important de noter que cette solution peut ne pas s’appliquer à tous les scénarios, mais elle s’est avérée efficace pour résoudre des problèmes similaires. Si vous rencontrez une erreur similaire lors d’une mise à niveau de SQL Server, je vous recommande d’essayer ces étapes.
N’oubliez pas, en tant que professionnel SQL Server, il est crucial de rester à jour avec les dernières techniques de dépannage et solutions pour assurer des opérations de base de données fluides.