Zakładam, że używasz MSSQL, oto wątek wyjaśniający kilka sposobów przywracania.
Andrew Keith,
Możesz utworzyć pustą bazę danych i przywrócić dane do pustej bazy danych, używając swojego .bak
Michel Ayres
Najprostszym sposobem jest trzecia odpowiedź, bazy danych po kliknięciu prawym przyciskiem myszy, import, urządzenie, wybór pliku .bak, zakończony.
Mafii,
Czy ktoś może rozszerzyć odpowiedź na rozwiązanie przyjazne dla automatyzacji? Przejście przez interfejs użytkownika i wykonanie kilku kliknięć nie jest zbyt wydajne.
L. Holanda,
Odpowiedzi:
251
W SQL Server Management Studio
Kliknij prawym przyciskiem myszy Bazy danych w lewym okienku (Object Explorer)
To działa jak urok. Są to doskonałe uproszczone instrukcje i są to w zasadzie te same instrukcje z oficjalnego łącza Microsoft odnotowanego w najczęściej głosowanej odpowiedzi tutaj.
Leonardo Lopez
3
Jeśli to się nie powiedzie, prawdopodobnie musisz usunąć istniejącą bazę danych.
DigitalDesignDj
3
To nie działa dla mnie. Wskazuję właściwy folder i nawet nie widzi plików. Wklejam dokładną nazwę pliku w oknie dialogowym i mówi, że plik nie istnieje. Ponadto w oknie dialogowym znajduje się dysk, który nie istnieje na moim serwerze. Czy baza danych pamięta lokalizację ostatniej kopii zapasowej i czy akceptuje przywracanie tylko od tego momentu? Uważam za bardzo dziwne, że nie mogę wybrać pliku kopii zapasowej do przywrócenia.
James
13
Mój plik .BAK znajdował się w katalogu „Pobrane”, który istniał pod moim kontem użytkownika. Musiałem przenieść plik .BAK do katalogu głównego C: aby to narzędzie mogło go zobaczyć i pozwolić mi go przywrócić. Pliki pod moim użytkownikiem po prostu nie były widoczne z jakiegoś powodu.
jeremysawesome
6
To nie działa. Klikam prawym przyciskiem myszy „Bazy danych”, ale nie ma „Przywróć bazę danych ...”.
user34660,
53
Pliki .bak to kopie zapasowe bazy danych. Możesz przywrócić kopię zapasową za pomocą poniższej metody:
To nie działa. Artykuł mówi: „... 2) Rozwiń bazy danych. W zależności od bazy danych wybierz bazę danych użytkownika lub rozwiń bazę danych systemu, a następnie wybierz bazę danych systemu. 3) Kliknij bazę danych prawym przyciskiem myszy , wskaż polecenie Zadania, a następnie kliknij polecenie Przywracać." NIE! Nie można kliknąć prawym przyciskiem myszy bazy danych, która nie istnieje! W końcu próbujesz przywrócić lub zaimportować daną bazę danych. Jak kliknąć prawym przyciskiem myszy bazę danych, która nie jest załadowana? Dziwne z MSDN i pogarszające tę funkcję przywracania w SSMS jest określone, ale nie działa. Czemu? Na szczęście polecenia SQL, które inni dają tutaj, działają.
Było to dla mnie bardzo pomocne, ponieważ chciałem przywrócić plik .bak do kontenera Docker sql z hostem macOS za pomocą Azure Data Studio. Wszystko, co musiałem zrobić, to skopiować plik .bak do kontenera, dostosować ścieżkę i zmienić na / i udało mi się pomyślnie przywrócić.
andrewb
Cieszę się, że pomógł @andrewb :)
RameshVel
30
Możesz po prostu przywrócić te pliki kopii zapasowej bazy danych przy użyciu rodzimych metod SQL Server lub użyć ApexSQL Restore narzędzia , aby szybko wirtualnie dołączyć pliki i uzyskać do nich dostęp jako w pełni przywrócone bazy danych.
Oświadczenie: Pracuję jako inżynier wsparcia produktu w ApexSQL
Zamiast wybrać Przywróć bazę danych ..., wybierz Przywróć pliki i aplikacje ...
Następnie wprowadź nazwę bazy danych, wybierz ścieżkę do pliku .bak jako źródło, zaznacz pole wyboru przywracania i kliknij OK. Jeśli plik .bak jest prawidłowy, będzie działać.
(Nazwy opcji przywracania programu SQL Server nie są intuicyjne w przypadku bardzo prostego zadania).
To dobra rada, zrobiłem to i zgłosiłem, że przywracanie zakończyło się powodzeniem. Pozostaje jednak pewien problem ... baza danych nie jest wymieniona w eksploratorze obiektów. Próbuję „załączyć”, a nawet ma dostępny prawidłowy plik .mdf (zakładam, że jest to produkt przywracania). Gdy spróbuję dołączyć, zgłasza błąd, że jest już w użyciu. Czy masz jakieś wskazówki dotyczące tego etapu?
AlanSE
Pamiętaj, aby odświeżyć na końcu, aby zobaczyć nową bazę danych. To może być najszybsze rozwiązanie do uruchomienia.
demongolem
Ta opcja działała dla mnie, gdy chcę zaimportować lokalnie tę samą bazę danych .bak jako nową bazę danych
Gurnzbot
7
Połącz się z serwerem, na którym chcesz przechowywać swoją bazę danych
Kliknij prawym przyciskiem myszy Baza danych
Kliknij Przywróć
Wybierz urządzenie przycisk radiowy w sekcji źródła
Kliknij Dodaj.
Przejdź do ścieżki, w której jest przechowywany plik .bak, wybierz go i kliknij OK
Wprowadź miejsce docelowe swojej bazy danych
Wpisz nazwę, pod którą chcesz przechowywać swoją bazę danych
Przywróć bazę danych wykonaj operację przywracania tylko wtedy, gdy struktura bazy danych jest taka sama jak plik kopii zapasowej, ale sp_restoredbprzywróć nawet bazę danych o innej strukturze lub całkowicie pustą (nową).
Omprakash tomar
3
Skopiuj plik kopii zapasowej .bak do następującej lokalizacji komputera: C: \ Program Files \ Microsoft SQL Server \ MSSQL11.SQLEXPRESS \ MSSQL \ DATA
Połącz się z serwerem, na którym chcesz przechowywać swoją bazę danych
Kliknij prawym przyciskiem myszy Baza danych
Kliknij Przywróć
Wybierz przycisk radiowy Urządzenie w sekcji źródła
Kliknij Dodaj.
Przejdź do ścieżki, w której jest przechowywany plik .bak, wybierz go i kliknij OK
Wprowadź miejsce docelowe swojej bazy danych
Wpisz nazwę, pod którą chcesz przechowywać swoją bazę danych
Kliknij OK
Powyższe rozwiązania pominęły miejsce przechowywania pliku kopii zapasowej (.bak). To powinno załatwić sprawę. To zadziałało dla mnie.
Odpowiedzi:
W SQL Server Management Studio
Gotowe.
źródło
Pliki .bak to kopie zapasowe bazy danych. Możesz przywrócić kopię zapasową za pomocą poniższej metody:
Instrukcje: przywracanie kopii zapasowej bazy danych (SQL Server Management Studio)
źródło
i musisz przenieść odpowiednie pliki mdf, ndf i ldf za pomocą
źródło
Możesz po prostu przywrócić te pliki kopii zapasowej bazy danych przy użyciu rodzimych metod SQL Server lub użyć ApexSQL Restore narzędzia , aby szybko wirtualnie dołączyć pliki i uzyskać do nich dostęp jako w pełni przywrócone bazy danych.
Oświadczenie: Pracuję jako inżynier wsparcia produktu w ApexSQL
źródło
Zamiast wybrać Przywróć bazę danych ..., wybierz Przywróć pliki i aplikacje ...
Następnie wprowadź nazwę bazy danych, wybierz ścieżkę do pliku .bak jako źródło, zaznacz pole wyboru przywracania i kliknij OK. Jeśli plik .bak jest prawidłowy, będzie działać.
(Nazwy opcji przywracania programu SQL Server nie są intuicyjne w przypadku bardzo prostego zadania).
źródło
Gotowe
źródło
Po prostu użyj
sp_restoredb „Twoja baza danych”, „Lokalizacja z której chcesz przywrócić”
Przykład: sp_restoredb 'omDB', 'D: \ abc.bak'
źródło
RESTORE DATABASE
jak w msdn.microsoft.com/en-us/library/ms178099(v=sql.105).aspx ?sp_restoredb
przywróć nawet bazę danych o innej strukturze lub całkowicie pustą (nową).Powyższe rozwiązania pominęły miejsce przechowywania pliku kopii zapasowej (.bak). To powinno załatwić sprawę. To zadziałało dla mnie.
źródło
Możesz użyć pakietu węzłów, jeśli często trzeba przywracać bazy danych w procesie programowania.
Zainstalować:
Stosowanie:
Argumenty:
!! sqlcmdNarzędzie wiersza polecenia powinno znajdować się w zmiennej PATH.
https://github.com/vladimirbuskin/sql-bak-restore/
źródło
W Microsoft SQL Server Management Studio 2019:
W oknie Przywróć bazę danych:
Wybierz urządzenie
Wybierz Dodaj i wybierz plik docelowy
OK, aby potwierdzić
OK, aby potwierdzić przywrócenie
źródło