web-dev-qa-db-fra.com

Erreur de restauration de la base de données SQL Server 2008 - Impossible d'ouvrir le périphérique de sauvegarde 15105

J'essaie de restaurer à partir d'une sauvegarde et d'obtenir l'erreur suivante

Msg 3201, niveau 16, état 2, ligne 1
Impossible d'ouvrir le périphérique de sauvegarde 'Z:\FULL_BACKUP.bak'. Erreur 3 du système d'exploitation (impossible de récupérer le texte de cette erreur. Raison: 15105).
Msg 3013, niveau 16, état 1, ligne 1
RESTORE DATABASE se termine anormalement.

Le code que j'ai utilisé dans SQL Server est le suivant (j'ai également essayé d'utiliser les écrans de dialogue et j'ai obtenu le même résultat)

RESTORE DATABASE DEX
FROM DISK = 'Z:\FULL_BACKUP.bak'
WITH MOVE 'Decri' TO 'E:\Test\DEX.mdf',
MOVE 'Decri_log' TO 'E:\Test\DEX.LDF'

Il peut être intéressant de noter que le "FULL_BACKUP" est créé par le même serveur SQL, sans aucun problème (je suppose donc que le serveur dispose d'autorisations).

Le lecteur Z est un chemin réseau, pour lequel il existe un "accès complet" à tous les utilisateurs du domaine.

La sauvegarde complète est de 200 Go

Le lecteur E (local) dispose d'un espace libre de 500 Go

Toute aide serait appréciée.

Le code d'erreur 3 du système d'exploitation est ERROR_PATH_NOT_FOUND : Le système ne peut pas trouver le chemin spécifié. Avec un chemin commençant par Z: mes pouvoirs pshyhic me disent que c'est un lecteur mappé. Le mappage de lecteur est de session de portée et je suis convaincu que votre session de service ne pas voir Z:. Mapper un lecteur à voir par un service est, à toutes fins pratiques, impossible .

Utilisez un chemin valide. Utilisez noms UNC comme \\server\share. Tenez compte des implications de sécurité de l'emprunt d'identité et de la délégation lors de l'accès aux partages distants.

16
Remus Rusanu

En effet, l'utilisation du chemin UNC dans le SQL semble avoir fonctionné (étrangement, les écrans de dialogue ne fonctionnaient toujours pas, mais le facteur important est que la réponse rapide ici a résolu le problème (merci beaucoup!)

RESTORE DATABASE [RESTOREDB] FROM  DISK = N'\\SERVER\PATH\FULL_BACKUP.bak' WITH  FILE = 3,  
MOVE N'myDB' TO N'E:\Test\DEX.mdf'
MOVE N'myDB_log' TO N'E:\Test\DEX.LDF',  NOUNLOAD,  STATS = 10
GO
2
Sean