Je me connecte sur un serveur SQL et j’ai un message d’erreur sur la majorité des bases.
Après un redémarrage du serveur, j’ai 2 bases opérationnelles et toutes les autres sont en mode : récupération en attente.
Je lance un script classique dans ces cas là :
ALTER DATABASE [DBName] SET EMERGENCY;
GO
ALTER DATABASE [DBName] set single_user
GO
DBCC CHECKDB ([DBName], REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS;
GO
ALTER DATABASE [DBName] set multi_user
Et voilà le résultat
Msg 5120, Niveau 16, État 106, Ligne 1
Impossible d’ouvrir le fichier physique « E:\Mssql\Data\CAP_SAGE ». Erreur du système d’exploitation -1073741790 : « 0xc0000022(failed to retrieve text for this error. Reason: 15105) ».
Msg 5105, Niveau 16, État 14, Ligne 1
Une erreur d’activation de fichier s’est produite. Le nom de fichier physique ‘E:\Mssql\Data\CAP_SAGE’ est peut-être incorrect. Diagnostiquez et corrigez les erreurs supplémentaires, puis recommencez l’opération.
Msg 5120, Niveau 16, État 106, Ligne 5
Impossible d’ouvrir le fichier physique « E:\Mssql\Data\CAP_SAGE ». Erreur du système d’exploitation -1073741790 : « 0xc0000022(failed to retrieve text for this error. Reason: 15105) ».
Msg 5105, Niveau 16, État 14, Ligne 5
Une erreur d’activation de fichier s’est produite. Le nom de fichier physique ‘E:\Mssql\Data\CAP_SAGE’ est peut-être incorrect. Diagnostiquez et corrigez les erreurs supplémentaires, puis recommencez l’opération.
Msg 945, Niveau 14, État 2, Ligne 9
La base de données ‘cap_sage’ ne peut pas être ouverte, car des fichiers sont inaccessibles, ou la mémoire ou l’espace disque sont insuffisants. Pour plus d’informations, consultez le journal des erreurs de SQL Server.
Msg 5120, Niveau 16, État 106, Ligne 13
Impossible d’ouvrir le fichier physique « E:\Mssql\Data\CAP_SAGE ». Erreur du système d’exploitation -1073741790 : « 0xc0000022(failed to retrieve text for this error. Reason: 15105) ».
Msg 5105, Niveau 16, État 14, Ligne 13
Une erreur d’activation de fichier s’est produite. Le nom de fichier physique ‘E:\Mssql\Data\CAP_SAGE’ est peut-être incorrect. Diagnostiquez et corrigez les erreurs supplémentaires, puis recommencez l’opération.
Msg 945
En lisant la longue Lituanie des erreurs Msg 945 : je pense qu’il s’agit soit d’un problème de disque, soit d’un problème de droit.
Je contrôle le disque :
- et la place disponible
- pas d’erreur avec un CHKDSK,
- donc c’est sans doute un problème de droit.
Après un contrôle, c’est simplement un problème de droit pour l’utilisateur du service SQL Server.
Je relance la vérification des bases.
Résultats DBCC pour 'cap_sage'.
Message Service Broker 9675, état 1 : Types de messages analysés : 14.
Message Service Broker 9676, état 1 : Contrats de service analysés : 6.
Message Service Broker 9667, état 1 : Services analysés : 3.
Message Service Broker 9668, état 1 : Files d'attente du service analysées : 3.
Message Service Broker 9669, état 1 : Points de terminaison de conversation analysés : 0.
Message Service Broker 9674, état 1 : Groupes de conversation analysés : 0.
Message Service Broker 9670, état 1 : Liaisons de service distant analysées : 0.
Message Service Broker 9605, état 1 : Priorités de conversation analysées : 0.
Résultats DBCC pour 'sys.sysrscols'.
Il y a 15464 lignes dans 174 pages pour l'objet "sys.sysrscols".
Résultats DBCC pour 'sys.sysrowsets'.
Il y a 2114 lignes dans 21 pages pour l'objet "sys.sysrowsets".
Etc.
Source
https://www.systoolsgroup.com/fr/recuperation-du-serveur-sql-en-attente