Question

Comment restaurer une sauvegarde de base de données à l'aide de SQL Server 2005 sur le réseau?Je me souviens de le faire avant, mais il y avait quelque chose d'étrange à propos de la manière que vous avez à faire.

Était-ce utile?

La solution

La base de données est souvent exécute en tant que service sous un compte disposant pas d'accès au réseau.Si c'est le cas, alors vous ne serait pas en mesure de restaurer directement sur le réseau.Soit la sauvegarde doit être copié sur l'ordinateur local ou le service de base de données doit exécuter en tant qu'utilisateur avec le bon accès au réseau.

Autres conseils

Vous avez quelques options pour utiliser un fichier de réseau en tant que source de la sauvegarde

  1. Lecteur de carte réseau/chemin d'accès, d'hébergement de fichiers, sous le MÊME utilisateur que MS-SQL Server.
  2. Utiliser xp_cmdshell procédure stockée étendue pour lecteur de carte réseau à partir de l'intérieur de MS SQL (telle façon, l'interface de commande aura la même privilégies que le compte d'utilisateur qui exécute SSMS)
-- allow changes to advanced options 
EXEC sp_configure 'show advanced options', 1
GO
-- Update currently configured values for advanced options.
RECONFIGURE
GO
-- To enable xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO
-- Update currently configured values for advanced options.
RECONFIGURE
GO
EXEC xp_cmdshell 'NET USE Z: \\Srv\Path password1 /USER:Domain\UserName'

Ensuite, le lecteur Z:sera visible dans Server Management studio, ou tout simplement

RESTORE DATABASE DataBaseNameHere FROM DISK = 'Z:\BackNameHere.BAK'
GO

Vous ne pouvez pas le faire par le biais de la SSMS de l'interface, mais vous pouvez le faire à l'aide d'un script.RESTAURER la BASE de données à partir du DISQUE='\unc\chemin om_fichier' Si vous avez besoin de ce processus automatisé, le meilleur moyen est de mettre en place un Travail SQL Server et de l'exécuter en tant qu'utilisateur disposant d'un accès à l'emplacement du fichier.

Assurez-vous que l'utilisateur qui exécute votre SQL services dans "Services.msc" est un annuaire active directory "Domain User" cela permettra de résoudre le problème.

Vous pouvez utiliser la SP xp_cmdshell à la carte le networkdrive pour sql server, une fois qu'il apparaîtra dans le fichier de la fenêtre de navigation.

EXEC xp_cmdshell 'NET USE Z: SERVERLOCATION PASSWORD /USER:DOMAIN\USERNAME'

plus d'infos ici: DB Restaurer à partir d'un Lecteur Réseau

A fonctionné pour moi!

J'ai eu à faire à quelques reprises, et il y a seulement deux options, que je sache.Copiez le fichier en local sur le Serveur SQL server, ou sur le serveur SQL server créer un lecteur réseau mappé à la part qui contient le fichier de sauvegarde.

Aussi, vous devez vous assurer que le Service SQL Server est en cours d'exécution en tant qu'utilisateur qui a accès au réseau et d'autorisations sur le partage où le fichier de sauvegarde des vies."Local System" de ne pas avoir les autorisations d'accès au réseau.

Comme une note de côté, si vous arriver à être en cours d'exécution SQL sur une Machine Virtuelle, c'est souvent moins de tracas à seulement temporairement mis en place un nouveau disque sur la machine virtuelle avec suffisamment d'espace pour copier vos fichiers de sauvegarde pour, faire de la restauration à partir de cette nouvelle copie en local, puis supprimez le lecteur temp.

Cela peut être utile si l'arrêt/démarrage du service SQL pour modifier le compte d'un problème.

Créer un disque partagé sur la machine qui a les sauvegardes, dire serveur1 a les sauvegardes dans le dossier "Backups".Accorder le contrôle total sur le compte en exécutant SQL Server.Sur le Serveur que vous souhaitez restaurer pour le lancement de SSMS aller restaurer la base de données et sélectionnez "à Partir d'un Périphérique".Dans le "Localiser le fichier de Sauvegarde-"Serveur" boîte de dialogue" et de supprimer quoi que ce soit dans le "Chemin d'accès" sur le terrain et dans le "Nom de Fichier" domaine de l'approvisionnement chemin d'accès complet donc "\serveur\sauvegardes\db.bak".Au moins, il a travaillé pour moi lors de la migration à partir de 05 à 08.Pas la méthode préférée car tout réseau, le hoquet peut provoquer un problème avec la restauration.

EXEC sp_configure 'show advanced options', 1
GO

-- Mise à jour actuellement configuré des valeurs pour les options avancées.

RECONFIGURE
GO
-- To enable xp_cmdshell
EXEC sp_configure 'xp_cmdshell', 1
GO

-- Mise à jour actuellement configuré des valeurs pour les options avancées.

RECONFIGURE
GO

--Ce doit être exécuté sur l'invite de commande (cmd)

NET USE Z: \\172.100.1.100\Shared Password /USER:administrator /Persistent:no

puis sur SQL Server

EXEC xp_cmdshell 'NET USE Z: \\172.100.1.100\Shared Password /USER:administrator /Persistent:no'

--Ensuite, le lecteur Z:sera visible dans Server Management studio, ou tout simplement

RESTORE DATABASE DB FROM DISK = 'Z:\DB.BAK'
WITH REPLACE
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top