Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:Program SQL Server w systemie Linux
Bazy danych SQL Server można robić na Linuxie na wiele sposobów. Na serwerze Linux możesz użyć sqlcmd do połączenia z SQL Server i tworzenia kopii zapasowych baz danych. Z Windows możesz połączyć się z SQL Server on Linux i tworzyć kopie zapasowe baz danych za pomocą interfejsu użytkownika. Funkcja tworzenia kopii zapasowej jest taka sama na różnych platformach. Na przykład możesz robić kopie zapasowe baz danych lokalnie, na dyski zdalne lub do kopii zapasowej SQL Server do adresu URL Azure Blob Storage.
Ważna
SQL Server on Linux obsługuje tylko kopie zapasowe do Azure Blob Storage za pomocą blokowych blobów. Używanie klucza pamięci do kopii zapasowej i przywracania używa page blob, który nie jest obsługiwany. Zamiast tego użyj podpisu współdzielonego dostępu (SAS). Aby dowiedzieć się więcej o obiektach blob typu blokowych i stronicowych, zobacz artykuł Tworzenie kopii zapasowej obiektu blob typu blokowego a obiektu blob typu stronicowego.
Tworzenie kopii zapasowej bazy danych
W poniższym przykładzie sqlcmd nawiązuje połączenie z lokalnym wystąpieniem SQL Server i wykonuje pełną kopię zapasową bazy danych użytkownika o nazwie demodb.
sqlcmd -S localhost -U sa -Q "BACKUP DATABASE [demodb] TO DISK = N'/var/opt/mssql/data/demodb.bak' WITH NOFORMAT, NOINIT, NAME = 'demodb-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
Po uruchomieniu polecenia program SQL Server wyświetli monit o podanie hasła. Po wpisaniu hasła powłoka zwraca wyniki postępu w kopii zapasowej. Przykład:
Password:
10 percent processed.
21 percent processed.
32 percent processed.
40 percent processed.
51 percent processed.
61 percent processed.
72 percent processed.
80 percent processed.
91 percent processed.
Processed 296 pages for database 'demodb', file 'demodb' on file 1.
100 percent processed.
Processed 2 pages for database 'demodb', file 'demodb_log' on file 1.
BACKUP DATABASE successfully processed 298 pages in 0.064 seconds (36.376 MB/sec).
Tworzenie kopii zapasowej dziennika transakcji
Jeśli twoja baza danych jest w modelu pełnego odzyskiwania, możesz też zrobić kopię zapasową dziennika transakcji, aby uzyskać bardziej szczegółowe opcje przywracania. W poniższym przykładzie sqlcmd nawiązuje połączenie z lokalnym wystąpieniem SQL Server i wykonuje kopię zapasową dziennika transakcji.
sqlcmd -S localhost -U sa -Q "BACKUP LOG [demodb] TO DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak' WITH NOFORMAT, NOINIT, NAME = N'demodb_LogBackup', NOSKIP, NOREWIND, NOUNLOAD, STATS = 5"
Przywracanie bazy danych
W poniższym przykładzie sqlcmd nawiązuje połączenie z lokalnym wystąpieniem SQL Server i przywraca bazę danych demodb. Opcja ta NORECOVERY pozwala na dodatkowe przywracanie kopii zapasowych plików logowych. Jeśli nie planujesz przywracania dodatkowych plików dziennika, usuń opcję NORECOVERY.
sqlcmd -S localhost -U sa -Q "RESTORE DATABASE [demodb] FROM DISK = N'/var/opt/mssql/data/demodb.bak' WITH FILE = 1, NOUNLOAD, REPLACE, NORECOVERY, STATS = 5"
Wskazówka
Jeśli przypadkowo użyjesz NORECOVERY , ale nie masz dodatkowych kopii zapasowych plików logów, uruchom polecenie RESTORE DATABASE demodb bez dodatkowych parametrów. To polecenie kończy przywracanie i pozostawia bazę danych operacyjną.
Przywracanie dziennika transakcji
Następujące polecenie przywraca poprzednią kopię zapasową dziennika transakcji.
sqlcmd -S localhost -U sa -Q "RESTORE LOG demodb FROM DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak'"
Tworzenie kopii zapasowych i przywracanie za pomocą programu SQL Server Management Studio (SSMS)
Możesz użyć SQL Server Management Studio (SSMS) z komputera Windows, aby połączyć się z bazą danych Linuksa i wykonać kopię zapasową przez interfejs użytkownika.
Note
Zainstaluj najnowszą wersję programu SQL Server Management Studio (SSMS). Aby uzyskać więcej informacji na temat korzystania z programu SSMS, zobacz Używanie programu SQL Server Management Studio w systemie Windows do zarządzania programem SQL Server w systemie Linux.
W poniższych krokach opisano tworzenie kopii zapasowej za pomocą programu SSMS.
Uruchom SSMS i połącz się z SQL Server na serwerze Linux.
W Eksplorator obiektów kliknij prawym przyciskiem myszy bazy danych, wybierz Zadania, a następnie wybierz Kopię zapasową....
W oknie Backup Database sprawdź parametry i opcje oraz wybierz OK.
Program SQL Server kończy tworzenie kopii zapasowej bazy danych.
Przywracanie za pomocą programu SQL Server Management Studio (SSMS)
Poniższe kroki przeprowadzą Cię przez proces przywracania bazy danych za pomocą programu SSMS.
W SSMS kliknij prawym przyciskiem myszy Bazy danych i wybierz Przywróć bazy danych....
Pod Sourcewybierz Device:, a następnie wybierz wielokropek (...).
Znajdź plik kopii zapasowej bazy danych i wybierz przycisk OK.
W ramach planu przywracania , sprawdź plik kopii zapasowej i ustawienia. Kliknij przycisk OK.
Program SQL Server przywraca bazę danych.
Treści powiązane
- Tworzenie pełnej kopii zapasowej bazy danych
- Tworzenie kopii zapasowej dziennika transakcji
- BACKUP (Transact-SQL)
- Tworzenie kopii zapasowej programu SQL Server w adresie URL dla usługi Azure Blob Storage
Współtworzenie dokumentacji SQL
Czy wiesz, że możesz samodzielnie edytować zawartość SQL? Jeśli to zrobisz, nie tylko pomożesz ulepszyć naszą dokumentację, ale także zostaniesz uznany za współautora strony.
Aby uzyskać więcej informacji, zobacz Edytowanie dokumentacji środowiska Microsoft Learn.