Comment résoudre l’erreur de base de données Microsoft du serveur SQL 5171

La corruption des bases de données SQL survient généralement avec plusieurs problèmes. Ces problèmes affectent la disponibilité et la performance des bases de données à grande échelle. Le niveau de corruption dans la base de données décide des chances réelles de récupération et de la façon dont vous pouvez résoudre efficacement le problème en évitant tout risque de perte potentielle de données.

Dans un cas particulier, il se peut que vous rencontriez un échec de connexion au serveur SQL ou que vous soyez dans l’impossibilité de restaurer les fichiers de la base de données MS SQL. Un autre problème pourrait être que vous ne pouvez pas créer de base de données ‘tempdb’ ou que chaque fois que vous essayez de joindre votre base de données, vous êtes incapable de le faire.

Ces problèmes sont associés à l’erreur SQL 5171 qui indique :

“database.mdf is not a primary database file. (Microsoft SQL Server, Error: 5171)”

Cette erreur se produit principalement en raison d’entrées de registre invalides, de problèmes d’alimentation, d’infections de virus ou de pilotes endommagés. Les scénarios discutés ci-dessous sont très susceptibles de causer l’erreur SQL 5171.

Si vous n’avez pas de sauvegarde, ou si la sauvegarde est corrompue, vous devrez peut-être suivre différentes étapes pour restaurer vos données.

Nous allons expliquer 2 scénarios de corruption différents dans cet article.

Cas I : La corruption des bases de données dans les bases de données en miroir

Imaginez que vous ayez des bases de données en miroir.

Supposons que le serveur MS SQL 2016 soit installé sur votre système. Lors de l’utilisation d’une base de données en miroir, vous essayez de configurer votre base de données en ligne en exécutant la commande suivante et recevez l’erreur 5171.

Dans ce cas, vous pouvez utiliser la procédure ci-dessous pour résoudre le problème:

  • Définir le principe de la base de données
  • Modifiez les informations du fichier à l’aide de la commande ‘ALTER DATABASE MODIFY FILE’.
  • Arrêter l’instance en cours d’exécution du serveur MS SQL
  • Copiez vos fichiers de base de données MDF et LDF dans un autre répertoire. Vous pouvez vérifier le chemin des fichiers MDF et LDF en cliquant avec le bouton droit de la souris sur la base de données et en sélectionnant les propriétés dans SSMS dans la page fichiers :
  • Redémarrez le serveur SQL, puis joignez les fichiers de la base de données.

Malheureusement, vous perdrez sûrement la mise en miroir de la base de données après le processus. Vous devrez à nouveau configurer la mise en miroir de la base de données.

Cas II

Supposons maintenant que vous utilisez le serveur MS SQL 2014. Maintenant, vous détachez votre base de données et passez au serveur MS SQL 2016. Une fois l’installation terminée, vous essayez de joindre à nouveau la base de données en ajoutant les fichiers de données primaires et secondaires. Dans ce processus, vous pouvez rencontrer le message d’erreur ci-dessous :

“M:\folder\file_1.mdf is not a primary database file. (Microsoft SQL Server, Error: 5171)”

Pour résoudre le problème ci-dessus, vous pouvez utiliser ‘sp_attach_db’ pour joindre la base de données.

Vous pouvez également utiliser l’interface utilisateur pour joindre une base de données :

Cependant, cette méthode ne fonctionnera pas si vous n’utilisez pas ‘sp_detach_db’ pour détacher la même base de données.

La phrase T-SQL suivante montre comment utiliser la procédure système sp_detach_db :

Cette procédure détache la base de données mydb.

Une autre possibilité est d’utiliser la commande ‘CREATE DATABASE’ avec la clause ‘FOR ATTACH’.

La phrase utilisée sera similaire à celle-ci :

Nous créons une base de données appelée mydb et spécifions le fichier de données et le fichier journal, y compris le chemin d’accès. Enfin, nous utilisons l’option FOR ATTACH.

Si les problèmes persistent, vous pouvez utiliser Stellar Repair for MS SQL pour résoudre et réparer l’erreur SQL 5171.

Solution Stellar

Stellar Repair for MS SQL est un outil complet qui comprend une multitude de mécanismes de réparation puissants pour récupérer efficacement chaque objet perdu, supprimé ou inaccessible de la base de données SQL endommagée. Le logiciel permet d’effectuer une récupération précise des tableaux, vues, requêtes, procédures stockées, index, fonctions définies par l’utilisateur, clés uniques, clés étrangères, identités, les valeurs par défaut, contraintes par défaut et types de données définis par l’utilisateur. De plus, il prend en charge les dernières versions de SQL Server, y compris MS SQL Server 2017, 2016, 2014, 2012, 2008, 2005, 2000 et 7.0 et les formats mixtes.

Il peut récupérer les erreurs de grande gravité et les problèmes mineurs à partir des fichiers MDF, ndf et LDF. Ce logiciel nécessite un installateur de moins de 5 MB

Le logiciel exige que vous arrêtiez le serveur MS SQL et que vous déplaciez les fichiers MDF et LDF à un emplacement différent, puis vous pouvez redémarrer le serveur et réparer la copie de la base de données :

Si vous ne connaissez pas le chemin de votre base de données, vous pouvez utiliser le bouton search du logiciel :

Conclusion

Dans cet article, nous avons appris que la base de données peut être corrompue dans un miroir de base de données et lorsque nous attachons une base de données dans un serveur SQL mis à jour. Nous avons appris comment réparer la base de données en utilisant le serveur SQL et Stellar Repair for MS SQL.

Ce logiciel est facile à apprendre et permet de gagner beaucoup de temps.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.

Nous utilisons des cookies sur ce site. En utilisant ce site, vous acceptez que nous stockions et accédions aux cookies sur votre appareil. Compris !