Verrouillé Fichiers de Données SQL Server

J'ai une base de données SQL Server où j'ai les données et les fichiers journaux stockés sur un disque USB externe. J'allume le lecteur externe entre mon principal du développement de la machine dans mon bureau et mon ordinateur portable lorsqu'il n'est pas dans mon bureau. Je suis en train d'utiliser sp_detach_db et sp_attach_db lors du déplacement entre les ordinateurs de bureau et ordinateurs portables. Je trouve que cela fonctionne bien sur le bureau et je peux détacher et rattacher la base de données il n'y pas de problèmes. Mais sur le portable, je ne peut pas rattacher la base de données (la base de données a été effectivement créé à l'origine sur l'ordinateur portable et de le détacher qui s'y est passé). Lorsque j'essaie de le remettre sur le portable j'obtiens l'erreur suivante:

Impossible d'ouvrir le fichier physique "p:\SQLData\AppManager.mdf". Erreur du système d'exploitation 5: "5(erreur non trouvée)"

Je trouve beaucoup de références à cette erreur tout en indiquant que c'est un problème d'autorisations. Je suis donc allé dans cette voie et fait en sorte que le compte de service SQL Server dispose des autorisations appropriées. J'ai également créé une nouvelle base de données sur cette même voie et a été en mesure de réussir à se détacher et à remettre en place. Je suis donc persuadé autorisations n'est pas la question.

Une enquête plus approfondie révèle que je ne peux pas renommer, copier ou déplacer les fichiers de données que Windows pense qu'ils sont verrouillés - même lorsque le service SQL Server est arrêté. Process Explorer ne permet pas de montrer les processus de verrouillage de fichiers.

Comment puis-je savoir qu'est-ce que le verrouillage de fichiers et de les déverrouiller.

J'ai vérifié que les bases de données ne s'affichent pas dans SSMS - de sorte que SQL Server ne prend pas en continue de penser qu'ils existent.

Mise à jour 18/09/2008

J'ai essayé toutes les suggestions de réponses à ce jour sans succès. Cependant en essayant ces suggestions ont aidé à clarifier la situation. Je peux vérifier les éléments suivants:

  1. Je peux réussir à détacher et rattacher la base de données uniquement lorsque le disque dur externe est connecté au serveur qu'une copie de la base de données est restaurée à - effectivement le serveur sur lequel la base de données est "créé" - appelons cela le "Serveur Source".
  2. Je peux me déplacer, copier ou renommer les données et les fichiers journaux, après le détachement de la base de données, tandis que le disque externe est toujours fixé sur le Serveur Source.
  3. Dès que je bouge le disque dur externe sur une autre machine, les données et les fichiers journaux sont "verrouillés", bien que les 2 outils que j'ai essayé - Explorateur de Processus et Unlocker, les deux trouver pas de verrouillage des poignées fixées sur les fichiers.

NB. Après le détachement de la base de données j'ai essayé les deux d'arrêter le service SQL Server et d'arrêter le Serveur Source avant de déplacer le lecteur externe - toujours sans succès.

Donc, à ce stade, tout ce que je peux faire pour déplacer des données entre les ordinateurs de bureau et les ordinateurs portables est de faire une sauvegarde des données sur le disque dur externe, déplacer le disque dur externe, de restaurer les données à partir de la sauvegarde. OK mais prend un peu plus de temps que la base de données est d'une taille raisonnable (1 go). De toute façon c'est le seul choix que j'ai à ce stade, même si j'essayais d'éviter d'avoir à aller dans cette voie.

Ne le redémarrage de l'explorateur de processus ou de services SQL aider?

OriginalL'auteur |