Base de données SQL Erreur 924 – La base de données est déjà ouverte et ne peut avoir qu’un seul utilisateur à la fois

  • Eric Simson

    Rédigé par Eric Simson linkdin

  • Mis à jour le

    Mis à jour le October 19, 2021

  • Lecture min

    Lecture min 5 Min

Résumé: Cet article donne un aperçu de ce que vous pouvez faire pour résoudre l’erreur 924 de la base de données SQL. Vous pouvez réparer cette erreur en utilisant des méthodes manuelles et un logiciel de récupération SQL.

L’erreur 924 de la base de données SQL se produit généralement lors d’une tentative d’accès à une base de données SQL qui est déjà utilisée par un autre utilisateur. Le message complet se lit comme suit:

Une exception s’est produite lors de l’exécution d’une instruction ou d’un lot Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
Msg 924, Niveau 14, État 1, Ligne 1
La base de données ‘db_name’ est déjà ouverte et ne peut avoir qu’un seul utilisateur à la fois.

Que devons-nous faire?

Dans cet article, nous allons présenter différentes solutions possibles pour cette erreur, notamment des solutions T-SQL natives, des solutions d’interface utilisateur et des logiciels de réparation de bases de données SQL.

Exigences

Cet article s’applique à SQL Server 2008 jusqu’à SQL Server 2017. Les versions plus anciennes ne sont plus prises en charge. Il s’applique également à toute édition de SQL Server, y compris l’édition Express.

Pour commencer

  • L’erreur 924, Database ‘%.*ls’ is already open and can only have one user at a time, est une erreur de niveau 14.
  • Le niveau 14 appartient aux erreurs de niveau de sécurité comme une permission refusée. Cela signifie qu’elle ne peut pas être ouverte parce que quelqu’un l’utilise.

Pour vérifier la raison de cette erreur, vérifiez vos processus pour vérifier lequel peut utiliser votre processus.

  1. Utilisation des procédures stockées

Utilisez les procédures stockées sp_who ou sp_who2. Vous pouvez également utiliser la commande tue pour tuer les processus qui sont actifs dans la base de données.

Remarque: la commande sp_who est documentée et officiellement prise en charge par Microsoft. La commande sp_who2 n’est pas documentée et n’est pas prise en charge par Microsoft.

  1. Utilisation de SQL Profiler

Une autre option est de vérifier l’activité en utilisant SQL Profiler, mais prenez en considération que SQL Profiler sera déprécié dans les futures versions.

Corriger l’erreur 924 du serveur SQL Si cela ne résout pas votre problème, vous pouvez configurer votre base de données en mode mono-utilisateur. Vous pouvez le faire en utilisant le SSMS et les propriétés.

Vous pouvez également utiliser T-SQL dans SSMS, sqlcmd ou tout autre outil de votre choix pour écrire des commandes T-SQL.:

USE master;
GO
ALTER DATABASE youdbname
SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 
GO

Solution 1 : Restaurer la base de données à partir d’une sauvegarde

Restaurer la base de données à partir d’une sauvegarde. Assurez-vous d’avoir une sauvegarde à jour. Si vous ne disposez pas d’une base de données à jour et que toutes les options précédentes n’ont pas fonctionné, il existe un autre espoir.

Solution 2 : Vérifiez les services du serveur SQL

Si cela ne fonctionne pas non plus, redémarrez votre service SQL Server. Cela peut résoudre le problème. Essayez d’utiliser SQL Server Configuration Manager.

Solution 3 : Options de réparation de DBCC CHECKDB

Après cela, vous pouvez essayer de réparer votre base de données avec les options suivantes:

 DBCC CHECKDB('xyz',REPAIR_REBUILD)

Si cela ne fonctionne pas, essayez ce qui suit:

 DBCC CHECKDB('xyz',REPAIR_ALLOW_DATA_LOSS)

Où ‘xyz’ est le nom de la base de données.

Solution 4 : Utilisez un logiciel de réparation de base de données SQL

Stellar Repair for MS SQL est un outil avancé pour restaurer la base de données corrompue. Vous devez connaître l’emplacement de votre fichier MDF. Ce fichier MDF contient toutes vos informations de données. Il prend en charge MS SQL 2019, 2017, 2016 et les versions inférieures. Vous devez télécharger l’outil ici:

Cet outil peut vous aider à réparer un fichier de données. Vous devez arrêter votre base de données SQL Server, puis sélectionner le fichier MDF à réparer.

Il vous suffit d’appuyer sur l’option Sélectionner la base de données et de sélectionner votre fichier de base de données MS SQL. Ou appuyez sur le bouton Rechercher pour rechercher dans un dossier spécifié.

Search in folder permet de spécifier l’endroit où effectuer la recherche. Vous pouvez également effectuer une recherche dans les sous-dossiers. Une fois que vous avez sélectionné votre fichier de données, appuyez sur le bouton Réparer et c’est tout. Votre base de données est réparée.

Ce logiciel peut être téléchargé facilement, et est disponible en trois versions:

  1. Technician
  2. Platinum
  3. Toolkit

Technician version répare la base de données SQL corrompue. L’édition SQL Platinum inclut un logiciel pour réparer la sauvegarde de SQL Server également. Enfin, le SQL Database Toolkit comprend non seulement les modules de réparation de la base de données SQL et de la sauvegarde, mais aussi un module de récupération des mots de passe de l’administrateur et des utilisateurs de SQL Server. Lire la suite

Il est également possible d’analyser les résultats et de réparer la base de données ultérieurement. Vous pouvez également sauvegarder vos rapports de résultats en MS SQL (MDF), XLS, HTML et un fichier CSV.

Le logiciel peut réparer les erreurs de page, les objets de base de données comme une table, une vue, une procédure stockée, une fonction, etc. Vous pouvez consulter les informations complètes sur la page du produit.

Exigences du système

La mémoire minimale requise est de 1 Go. Il peut être installé sur les versions de Windows 10 et inférieures. Le logiciel nécessite 50 Mo d’espace libre et la version actuelle est 8. Le logiciel crée un fichier de données réparé qui est prêt à être utilisé avec une base de données nouvelle ou vivante.

Les tableaux avec compression de lignes et de pages peuvent être facilement récupérés avec cet outil. Si vous avez besoin de migrer votre licence, le logiciel permet de migrer vers un autre serveur si nécessaire.

Conclusion

Dans cet article, nous avons appris comment gérer et réparer la base de données si l’erreur 924 de la base de données SQL apparaît. Nous pouvons commencer par configurer la base de données en mode utilisateur unique, puis essayer de réparer la base de données à l’aide de DBCC.

Enfin, nous montrons comment utiliser Stellar Repair for MS SQL pour réparer un fichier de base de données SQL endommagé. Il suffit d’arrêter le serveur SQL, de trouver le fichier MDF concerné et d’appuyer sur repair.