J'ai reçu un fichier de base de données et les instructions pour le charger consistent à installer SQL Server 2005, puis à le joindre à l'aide de SQL Server Management Studio.
Après avoir tout installé, j'ai essayé de joindre le fichier MDF mais il me dit:
la recherche de répertoire pour le fichier "D: {folderName} {filename} .LDF" a échoué avec l'erreur 21 du système d'exploitation (erreur introuvable)
Un fichier LDF n'était pas fourni avec la base de données, il est donc probable qu'il devrait être généré automatiquement.
Maintenant, le lecteur D est l'endroit où se trouve mon lecteur de CD, donc il ne trouvera rien. Il n'aura pas non plus de chance d'essayer de créer quoi que ce soit là-bas.
Pourquoi essaie-t-il de rechercher un fichier journal à un chemin spécifique? Pourquoi pas où se trouve le fichier de base de données?
Comment puis-je joindre cette base de données?
J'ai réalisé que lorsque je sélectionne une base de données à joindre, trois entrées apparaissent sous "Détails de la base de données". un MDF, NDF et LDF. Le "chemin du fichier actuel" du LDF pointe vers le chemin du lecteur D ci-dessus, donc je l'ai supprimé.
Cette fois, lorsque je clique sur "OK", j'obtiens un message d'erreur différent:
La base de données ne peut pas être mise à niveau car elle est en lecture seule ou contient des fichiers en lecture seule.
Rendez la base de données ou les fichiers accessibles en écriture et relancez la récupération.Échec de l'activation du fichier. Le nom physique D: {dossier} {fichier} .LDF est peut-être incorrect.
Un nouveau fichier journal "..." a été créé. (Microsoft SQL Server, erreur: 3415)
Alors maintenant, il crée un nouveau fichier journal dans le même dossier que le fichier de base de données, ce qui est génial, mais il semble qu'il y ait des problèmes de sécurité.
Information additionnelle:
Les instructions m'obligent à utiliser le nom de connexion "sa", qui semble être le compte sysadmin. Je suis connecté à mon instance SQL Server à l'aide de cette connexion.
J'ai vérifié les propriétés du fichier qu'il n'est pas en lecture seule. Le répertoire n'est pas non plus en lecture seule. Tous les ACL sont autorisés.
Je ne parviens pas à joindre la base de données. Lorsque j'essaie de le joindre, il envoie un message d'erreur avec "Échec de la connexion à la base de données".
La fermeture de SSMS et sa réouverture en tant qu'administrateur n'ont fait aucune différence.
select SERVERPROPERTY('ProductVersion')
renvoie 9,00.4035.00. Il y a un autre fichier fourni avec la base de données appelée "dbdata.ini" qui dit "IsSql2000 = 1" donc il est vraisemblablement destiné à être chargé dans SQL Server 2000. Je vais voir si je peux le faire fonctionner sur 2000.
la source
LOG ON
avec la correspondanceldf
n'a pas résolu le problème pour moiJe viens de trouver un article qui a répondu à cette question:
Cela peut ne pas fonctionner dans tous les cas, mais j'essayais d'installer la base de données de recherche sémantique et j'ai eu la même erreur.
Vous devez exécuter SQL Server Management Studio en tant qu'administrateur et cela fonctionne.
la source
la source
Cliquez avec le bouton droit sur les fichiers
.mdf
et.ldf
, un à la fois et cliquez sur «Propriétés», puis en bas, où il est indiqué «ce fichier provient d'un autre ordinateur et peut être bloqué pour aider à protéger cet ordinateur», cliquez sur le bouton de déblocage.Cliquez ensuite avec le bouton droit de la souris, -> propriétés, -> onglet sécurité -> bouton modifier et sélectionnez 'utilisateurs' et donnez l'autorisation de contrôle total.
la source
Dans mon cas, la résolution était de se connecter à SSMS avec le mode d'authentification Windows au lieu de l'utilisateur sql qui a le rôle d'administrateur système. assurez-vous simplement que l'utilisateur que vous avez utilisé en mode d'authentification Windows dispose d'une autorisation appropriée (mon cas était sysadmin) Je suppose que l'utilisateur sql n'a pas l'autorisation appropriée. (Je rencontre ce problème lorsque je migre / copie des fichiers mdf et ldf à partir de différents machine)
la source
Pas d'autorisations dans notre cas, c'était la version de SSMS!
(c'était 2012 localement où nous avons eu l'erreur, mais cela a fonctionné lorsque nous avons utilisé SSMS 17+ à partir d'une boîte distante)
la source
J'ai également eu ce problème. J'ai aidé mon client en redémarrant le service SQL et j'ai pu attacher le MDF par procédure normale.
la source
1) Ouvrez Sql Server Configuration Manager
2) Sélectionnez Sql Server Services (volet gauche)
3) Double-cliquez sur votre SqlServer (volet droit)
4) Sélectionnez l'onglet Connexion
5) Sélectionnez le bouton radio intégré et modifiez le système local ou le service réseau dans la zone de liste déroulante.
6) Cliquez sur OK.
7) Joignez le fichier mdf dans le gestionnaire de serveur SQL.
la source
Votre service SQL Server s'exécute probablement sous le compte NT Service \ MSSQLServer . Le changer de système local lui donnera accès.
Il est probablement préférable de créer un utilisateur et de lui accorder des autorisations complètes sur le dossier dans lequel se trouvent les fichiers.
la source