Corriger l’erreur de base de données SQL 5173 – La connexion à la base de données a échoué pour le serveur

Introduction

Un de mes collègues a eu des problèmes pour attacher une base de données SQL Server avec l’affichage de l’erreur SQL 5173 :

Erreur 5173 : impossible d’associer des fichiers à différentes bases de données.

Échec de l’attachement de la base de données pour le serveur Serv4567 ?. (Microsoft.SqlServer.Smo)

Informations supplementaires :

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

One or more files do not match the primary file of the database. If you are attempting to attach a database, retry the operation with the correct files.  If this is an existing database, the file may be corrupted and should be restored from a backup.
CREATE DATABASE failed. Some file names listed could not be created. Check related errors. (Microsoft SQL Server, Error: 5173)

Ce fichier de base de données sujet aux erreurs était en fait une base de données marketing importante et les clients se plaignaient car ils ne pouvaient pas accéder à la base de données que mon collègue tentait de faire migrer vers un nouveau serveur avec plus de RAM, une bonne grappe de serveurs et des disques durs puissants. Il s’agit d’une erreur très connue de connexion qui peut se produire dans une base de données.

Dans cet article, nous allons montrer comment résoudre le problème lié à l’erreur 5173 dans le serveur SQL.

Exigences

Les exigences suivantes vous aideront à suivre cet article :

  1. Cet article utilisera le serveur SQL dans n’importe quelle version.
  2. Enfin, vous aurez besoin de SQL Server Management Studio.

Commencer

Ici, nous allons vérifier les différentes solutions disponibles?

Dans les bases de données, nous avons 3 types de fichiers différents pour le serveur SQL :

  1. Le fichier de données primaire avec l’extension .MDF est le fichier principal et contient les données.
  2. Le fichier de données secondaire (.NDF) n’est pas créé par défaut mais peut être créé si vous souhaitez séparer les données sur différents disques durs pour des raisons de sécurité et de performances.
  3. Le fichier journal (.LDF) stocke les informations du journal. Il est utilisé pour récupérer la base de données. Il est possible de récupérer les données à une heure précise.

La procédure système sp_helpfile stockée affiche tous les fichiers d’une base de données spécifique. Il montrera la taille, le chemin, le groupe de fichiers et l’id.

Le problème est généralement que le fichier mdf n’a pas la même date que celle du fichier .LDF. Par exemple, lorsqu’un fichier mdf de June 2 tente d’être restauré à l’aide du fichier ldf de June 3.

Une solution possible

Si votre fichier de données principal ne correspond pas au fichier log et que votre fichier de données principal est corrompu, vous pouvez effectuer les opérations suivantes :

Vous pouvez télécharger le logiciel ici :

Le logiciel Stellar Repair for MS SQL restaure votre fichier .MDF, détecte vos objets de base de données SQL Server et vous pouvez exporter les données vers SQL Server (MDF), Excel, CSV, HTML.

Le logiciel nécessite l’arrêt du service MS SQL avant de lancer le processus de récupération de la base de données SQL. Vous pouvez restaurer le fichier .MDF sur n’importe quelle machine avec ou sans MS SQL Server.

Reconstruisez le fichier journal

Une fois récupéré, si vous avez l’erreur 5173 et que vous ne trouvez pas le fichier journal correct (.LDF), il est possible de reconstruire un fichier .LDF pour le fichier .MDF restauré. Le code T-SQL suivant vous aidera à reconstruire le fichier journal pour le fichier .MDF :

CREATE DATABASE yourdatabase
 ON (FILENAME = 'c:\yourPrimaryFile_Data.mdf')
 FOR ATTACH_REBUILD_LOG ;

Le code créera une base de données basée sur le fichier mdf et générera un nouveau fichier journal pour le fichier mdf. Car attach_rebuild_log crée un nouveau journal pour vous. 

Conclusion

L’erreur 5173 dans Microsoft SQL Server est liée à un problème avec le fichier de données principal et le fichier journal. En raison d’un accident, les fichiers ne correspondent pas et la base de données SQL suppose que les fichiers appartiennent à différentes bases de données.

Si le fichier de données principal est corrompu, vous pouvez utiliser Stellar Repair for MS SQL. Ce logiciel peut réparer une base de données corrompue en utilisant un logiciel simple pour cela. Une fois réparé (si nécessaire), vous pouvez reconstruire le fichier journal à l’aide de la phrase create database et l’utiliser pour attach_rebuild_log. Cette option va générer un nouveau journal pour vous.

Related Post