Przywracanie bazy danych to bułka z masłem dzięki usłudze Azure Data Studio. Jest to podobny proces do robienia tego w SQL Server Management Studio. Po prostu kliknij Przywróć i postępuj zgodnie z instrukcjami.
Ten proces przywracania umożliwia poruszanie się po systemie plików komputera w celu zlokalizowania pliku .bak. Ten plik .bak zawiera kopię zapasową bazy danych, którą chcesz przywrócić. Więc kiedy SQL Server przywraca bazę danych, używa do tego pliku .bak.
Jeśli jednak uruchamiasz instancję SQL Server w kontenerze Dockera (co oczywiście byłoby, gdy używasz SQL Server na Macu lub Linuxie), jest coś, o czym musisz wiedzieć, jeśli znajduje się plik kopii zapasowej poza kontenerem Dockera.
Jeśli plik kopii zapasowej znajduje się poza kontenerem Docker, na którym działa program SQL Server, przed przystąpieniem do przywracania należy go skopiować do kontenera Docker. Po skopiowaniu pliku .bak do kontenera Docker możesz kontynuować i użyć Azure Data Studio do przywrócenia bazy danych.
Poniżej przedstawiam wszystkie wymagane kroki.
W tym samouczku założono, że zainstalowałeś SQL Server na komputerze Mac przy użyciu kontenera Docker i zainstalowałeś Azure Data Studio.
Powinienem zaznaczyć, że chociaż przykłady na tej stronie zostały wykonane na komputerze Mac, wszystkie kroki powinny działać zarówno w systemie macOS, jak i Linux.
Pobierz przykładową bazę danych
Jeśli masz już własny plik bazy danych .bak, nie musisz wykonywać tego kroku.
W tym samouczku zamierzam przywrócić przykładową bazę danych WideWorldImporters. Jest to przykładowa baza danych udostępniona przez firmę Microsoft w celu zaprezentowania różnych funkcji programu SQL Server. W szczególności będę używał wersji bazy danych z hurtownią danych.
Aby pobrać plik .bak przykładowej bazy danych WideWorldImporters, przejdź do strony Github WideWorldImporters i znajdź link do pobrania lub możesz pobrać plik .bak bezpośrednio tutaj:
- WildWorldImportersDW-Full.bak [47,7mb]
Skopiuj plik .bak do kontenera Docker
Musisz wykonać ten krok tylko wtedy, gdy twój plik .bak znajduje się poza kontenerem Docker (a będzie, jeśli właśnie pobrałeś plik .bak WideWorldImporters).
Najpierw utwórzmy folder w kontenerze Docker:
sudo docker exec -it sql_server_demo mkdir /var/opt/mssql/backup
Teraz skopiuj plik .bak bazy danych do tego folderu:
sudo docker cp WideWorldImportersDW-Full.bak sql_server_demo:/var/opt/mssql/backup
To polecenie zakłada, że znajdujesz się w tym samym katalogu, co plik .bak. Jeśli nie, najpierw przejdź do katalogu. Na przykład:
cd Downloads
lub w jakimkolwiek folderze, w którym się znajduje.
Dlaczego musimy skopiować plik .bak?
Kontener Docker ma własny system plików i działa niezależnie od systemu plików komputera Mac. Dlatego podczas próby przejścia do pliku .bak w Azure Data Studio (w następnym kroku) „utkniesz” w systemie plików kontenera Docker, bez możliwości uzyskania dostępu do pliku .bak w pliku komputera Mac system. Dlatego najpierw kopiujemy plik .bak do systemu plików kontenera, a następnie możemy uzyskać do niego dostęp za pośrednictwem Azure Data Studio.
Przywróć bazę danych
OK, teraz możemy przeprowadzić właściwy proces przywracania bazy danych.
Poniższe kroki zakładają, że masz już uruchomione Azure Data Studio i masz już połączenie z SQL Server.
- W panelu serwera kliknij przycisk Przywróć przycisk
- W Przywróć z nagłówek, wybierz Plik kopii zapasowej z menu rozwijanego
- W ścieżce pliku kopii zapasowej nagłówka, kliknij wielokropek (… )
- Przejdź do folderu, wybierz plik .bak i kliknij OK
- Kliknij Przywróć
- Przywracanie może potrwać minutę lub dwie. Historia zadań wskaże, kiedy będzie gotowy
Baza danych została przywrócona.
Sprawdź bazę danych
Prawdopodobnie będziesz chciał sprawdzić, czy baza danych została faktycznie przywrócona. Jednym ze sposobów na zrobienie tego jest przejście do bazy danych i uruchomienie szybkiego zapytania.
- Kliknij Serwery ikona (lewy górny róg ekranu)
- Baza danych powinna być teraz wymieniona w sekcji Bazy danych nagłówek do odpowiedniego serwera. Jeśli nie, kliknij prawym przyciskiem myszy Bazy danych i wybierz Odśwież
- Użyj interfejsu Azure Data Studio, aby uruchomić zapytanie w bazie danych. Na przykład kliknij prawym przyciskiem myszy Tabele (po rozwinięciu bazy danych) i kliknij Wybierz 1000 najlepszych . Spowoduje to automatyczne uruchomienie zapytania w tej tabeli, wybierając tylko 1000 najlepszych wyników