2008-10-28 11 views
1

Je tente d'exécuter cette requête SQL avant de restaurer un fichier .BAK dans SQL Express. Au départ, j'avais le fichier sur le bureau de mon compte utilisateur. Je suis connecté en tant qu'administrateur.Pourquoi ne puis-je pas lire les fichiers .BAK sur mon bureau à l'aide de SQL Express en mode d'authentification Windows?

Lorsque je tente d'accéder au fichier BAK sur le bureau comme celui-ci

RESTORE FILELISTONLY FROM DISK= 'C:\Documents and Settings\Administrator\Desktop\file.bak' 

je reçois une erreur.

Msg 3201, Level 16, State 2, Line 1 
Cannot open backup device 'C:\Documents and Settings\Administrator\Desktop\file.bak'. Operating system error 5(Access is denied.). 
Msg 3013, Level 16, State 1, Line 1 
RESTORE FILELIST is terminating abnormally.

Cependant, lorsque je déplace le fichier BAK à C:\temp, et exécuter ce

RESTORE FILELISTONLY FROM DISK= 'C:\temp\file.bak' 

Il fonctionne très bien.

Je n'arrive pas à comprendre ce qui se passe. Existe-t-il un moyen d'accéder aux fichiers sur Desktop en utilisant l'authentification Windows avec SQL Express?

Répondre

6

Essayez octroi à l'autorisation de lecture utilisateurs ou SERVICE LOCAL dans le dossier C: \ Documents and Settings \ Administrateur \ Desktop \ dans votre éditeur de stratégie (clic droit sur le dossier et dans l'onglet Sécurité cliquez sur Ajouter ... Advanced ...

+0

Oui, les autorisations de fichiers sont problématiques. – DiGi

0

Lorsque vous exécutez le script de restauration, il s'exécute dans le contexte du compte de service sous lequel s'exécute SQL Express. Accédez à la console de gestion des services (ou exécutez Services.msc).) et recherchez le service SQL Express et examinez le compte pour lequel il est configuré pour s'exécuter, puis examinez les autorisations du fichier sur votre bureau et assurez-vous que le compte a un accès en lecture

Questions connexes