2012-05-30 4 views
15

Mam plik test.bak na moim komputerze lokalnym. Muszę przywrócić ten plik do bazy danych zdalnej maszyny. Jak mogę to zrobić?Przywróć plik .bak do zdalnej bazy danych

Kiedy próbuję tego, zdalna baza danych zgłasza błąd, który nie może znaleźć test.bak w lokalnym systemie plików.

Zapytanie

RESTORE DATABASE TESTPROJECT 
FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.ICON3\MSSQL\Backup\test.bak' 

Błąd

Cannot open backup device 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.ICON3\MSSQL\Backup\test.bak'. Operating system error 2(The system cannot find the file specified.). 

W jaki sposób można to osiągnąć? Używam programu Microsoft SQL Server 2008.

+0

Are U odnosząc się do lokalnej drogi lub ścieżki serwera w celu przywrócenia .bak plik? – praveen

+1

Zasadniczo plik '.bak' musi znajdować się na dysku ** na tym komputerze **, w którym działa oprogramowanie SQL Server. Nie można przywrócić do 'zdalnego' serwera poprzez plik' .bak' na lokalnym dysku twardym. –

Odpowiedz

18

W kontekście tej odpowiedzi - remote odnosi się do urządzenia, local jest serwerem bazy danych.


Przywracanie plików z local

Skopiuj plik kopii zapasowej do local plików i przywrócić bezpośrednio z tej kopii.

wstępne

  • Kopiowanie test.bak do C:\test.bak na serwerze

Składnia

RESTORE DATABASE TESTPROJECT FROM DISK = N'C:\test.bak'; 

Przywracanie plików z remote

Alternatywnie można przywrócić z kopii zapasowej pliku remote wykorzystaniem UNC syntax. Zwykle nie używam tej opcji, ale jest to przydatne, jeśli nie ma wystarczającej ilości miejsca na dysku w systemie plików local zarówno dla pliku kopii zapasowej, jak i przywróconej bazy danych.

Powodzenie tej opcji zależy od niektórych zmiennych - uprawnień do systemu plików przypisanych do konta usługi bazy danych, kondycji sieci i innych.

wstępne

  • Remote nazwa komputera jest remotemachine
  • zapasowa znajduje się na remote na konto usługi 'C:\test.bak'
  • danych ma dostęp do udziału remote administratora C$

Składnia

RESTORE DATABASE TESTPROJECT FROM DISK = N'\\remotemachine\c$\test.bak'; 
+1

Witaj Bryan, jeśli pojawia się komunikat "dostęp jest zabroniony", a plik jest udostępniany wszystkim osobom, jak mogę to zrobić ?. –