Udostępnij za pomocą


Urządzenia kopii zapasowych (SQL Server)

Dotyczy:SQL Server

Podczas operacji tworzenia kopii zapasowej w bazie danych programu SQL Server kopia zapasowa danych ( kopia zapasowa) jest zapisywana na fizycznym urządzeniu kopii zapasowej. To fizyczne urządzenie kopii zapasowej jest inicjowane po zapisaniu pierwszej kopii zapasowej w zestawie multimediów. Kopie zapasowe na zestawie co najmniej jednego urządzenia kopii zapasowej tworzą jeden zestaw multimediów.

Terminy i definicje

dysk kopii zapasowej
Dysk twardy lub inny nośnik danych zawierający co najmniej jeden plik kopii zapasowej. Plik kopii zapasowej jest zwykłym plikiem systemu operacyjnego.

zestaw nośników
Uporządkowana kolekcja nośników kopii zapasowych, taśm lub plików dysków, która używa stałego typu i liczby urządzeń kopii zapasowych. Aby uzyskać więcej informacji na temat zestawów multimediów, zobacz Zestawy multimediów, Rodziny multimediów i Zestawy kopii zapasowych (SQL Server).

fizyczne urządzenie kopii zapasowej
Stacja taśm lub plik dysku udostępniany przez system operacyjny. Kopię zapasową można zapisać na 1 do 64 urządzeń kopii zapasowych. Jeśli kopia zapasowa wymaga wielu urządzeń kopii zapasowych, wszystkie urządzenia muszą odpowiadać jednemu typowi urządzenia (dysku lub taśmie).

Kopie zapasowe programu SQL Server można również zapisywać w usłudze Azure Blob Storage oprócz dysku lub taśmy.

Korzystanie z urządzeń kopii zapasowych dysków

Jeśli plik dysku zostanie wypełniony, gdy operacja tworzenia kopii zapasowej dołącza kopię zapasową do zestawu multimediów, operacja tworzenia kopii zapasowej zakończy się niepowodzeniem. Maksymalny rozmiar pliku kopii zapasowej zależy od wolnego miejsca na dysku dostępnego na urządzeniu dyskowym; dlatego odpowiedni rozmiar urządzenia dysku kopii zapasowej zależy od rozmiaru kopii zapasowych.

Urządzenie kopii zapasowej dysku może być prostym urządzeniem dyskowym, takim jak dysk ATA. Alternatywnie, można użyć dysku wymiennego na gorąco, co pozwoli w sposób przezroczysty zastąpić pełny dysk dyskiem pustym. Dysk kopii zapasowej może być dyskiem lokalnym na serwerze lub dysku zdalnym, który jest udostępnionym zasobem sieciowym. Aby uzyskać informacje o sposobie korzystania z dysku zdalnego, zobacz Tworzenie kopii zapasowej pliku w udziale sieciowym w dalszej części tego tematu.

Narzędzia do zarządzania SQL Server są bardzo elastyczne w obsłudze urządzeń kopii zapasowych dysków, ponieważ automatycznie generują nazwę z sygnaturą czasową w pliku na dysku.

Ważne

Zalecamy, aby dysk kopii zapasowej był innym dyskiem niż dane bazy danych i dyski dziennika. Jest to konieczne, aby upewnić się, że możesz uzyskać dostęp do kopii zapasowych, jeśli dysk danych lub dziennika ulegnie awarii.

Jeśli pliki bazy danych i pliki kopii zapasowej znajdują się na tym samym urządzeniu i urządzenie ulegnie awarii, baza danych i kopie zapasowe będą niedostępne. Ponadto umieszczenie plików bazy danych i kopii zapasowych na oddzielnych urządzeniach optymalizuje wydajność operacji we/wy zarówno na potrzeby produkcyjnego użycia bazy danych, jak i zapisywania kopii zapasowych.

Określ plik kopii zapasowej przy użyciu jego nazwy fizycznej (Transact-SQL)

Podstawowa składnia BACKUP określająca plik kopii zapasowej przy użyciu jego nazwy urządzenia fizycznego to:

DATABASE_NAME KOPII ZAPASOWEJ BAZY DANYCH

NA DYSK = { 'physical_backup_device_name' | @physical_backup_device_name_var }

Przykład:

BACKUP DATABASE AdventureWorks2022   
   TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak';  
GO  

Aby określić urządzenie dysku fizycznego w instrukcji RESTORE , podstawowa składnia to:

RESTORE { DATABASE | LOG } database_name

Z DYSKU = { 'physical_backup_device_name' | @physical_backup_device_name_var }

Na przykład

RESTORE DATABASE AdventureWorks2022   
   FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak';   

Określanie ścieżki pliku kopii zapasowej dysku

Podczas określania pliku kopii zapasowej należy wprowadzić pełną ścieżkę i nazwę pliku. Jeśli określisz tylko nazwę pliku lub ścieżkę względną podczas tworzenia kopii zapasowej pliku, plik kopii zapasowej zostanie umieszczony w domyślnym katalogu kopii zapasowej. Domyślny katalog kopii zapasowej to C:\Program Files\Microsoft SQL Server\MSSQL. n\MSSQL\Backup, gdzie n jest liczbą wystąpienia serwera. W związku z tym w przypadku domyślnego wystąpienia serwera domyślny katalog kopii zapasowej to: C:\Program Files\Microsoft SQL Server\MSSQL13. MSSQLSERVER\MSSQL\Backup.

Aby uniknąć niejednoznaczności, zwłaszcza w skryptach, zalecamy jawne określenie ścieżki katalogu kopii zapasowej w każdej klauzuli DISK. Jest to jednak mniej ważne w przypadku korzystania z Edytora zapytań. W takim przypadku, jeśli masz pewność, że plik kopii zapasowej znajduje się w domyślnym katalogu kopii zapasowej, możesz pominąć ścieżkę z klauzuli DISK. Na przykład poniższa BACKUP instrukcja wykonuje kopię zapasową AdventureWorks2025 bazy danych w domyślnym katalogu kopii zapasowej.

BACKUP DATABASE AdventureWorks2022   
   TO DISK = 'AdventureWorks2022.bak';  
GO  

Uwaga / Notatka

Domyślna lokalizacja jest przechowywana w kluczu rejestru BackupDirectory w HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.n\MSSQLServer.

Tworzenie kopii zapasowej pliku udziału sieciowego

Aby program SQL Server mógł uzyskać dostęp do pliku dysku zdalnego, konto usługi programu SQL Server musi mieć dostęp do udziału sieciowego. Obejmuje to uprawnienia wymagane do operacji tworzenia kopii zapasowych do zapisu w udziale sieciowym i operacji przywracania do odczytu z niego. Dostępność dysków sieciowych i uprawnień zależy od kontekstu, w którym działa usługa SQL Server.

  • Aby utworzyć kopię zapasową dysku sieciowego, gdy program SQL Server jest uruchomiony na koncie użytkownika domeny, dysk udostępniony musi być mapowany jako dysk sieciowy w sesji, w której działa program SQL Server. Jeśli uruchomisz Sqlservr.exe z poziomu wiersza polecenia, program SQL Server zobaczy wszystkie dyski sieciowe mapowane w sesji logowania.

  • Po uruchomieniu Sqlservr.exe jako usługi program SQL Server jest uruchamiany w oddzielnej sesji, która nie ma związku z sesją logowania. Sesja, w której działa usługa, może mieć własne zamapowane dyski, chociaż zwykle nie.

  • Połączenie z kontem usługi sieciowej można nawiązać przy użyciu konta komputera zamiast użytkownika domeny. Aby umożliwić tworzenie kopii zapasowych z określonych komputerów do dysku udostępnionego, przyznaj dostęp do kont komputerów. Jeśli proces Sqlservr.exe zapisywania kopii zapasowej ma dostęp, nie ma znaczenia, czy użytkownik wysyłający polecenie BACKUP ma dostęp.

    Ważne

    Tworzenie kopii zapasowych danych za pośrednictwem sieci może podlegać błędom sieci; Dlatego zalecamy, aby podczas korzystania z dysku zdalnego zweryfikować operację tworzenia kopii zapasowej po zakończeniu. Aby uzyskać więcej informacji, zobacz RESTORE VERIFYONLY (Transact-SQL).

Określanie nazwy uniwersalnej konwencji nazewnictwa (UNC)

Aby określić udział sieciowy w poleceniu tworzenia kopii zapasowej lub przywracania, użyj w pełni kwalifikowanej uniwersalnej konwencji nazewnictwa (UNC) pliku dla urządzenia kopii zapasowej. Nazwa UNC ma postać \\Nazwa_systemu\Nazwa_udziału\Ścieżka\Nazwa_pliku.

Przykład:

BACKUP DATABASE AdventureWorks2022   
   TO DISK = '\\BackupSystem\BackupDisk1\AW_backups\AdventureWorksData.Bak';  
GO  

Korzystanie z urządzeń taśmowych

Uwaga / Notatka

Obsługa urządzeń kopii zapasowych taśm zostanie usunięta w przyszłej wersji programu SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji.

Tworzenie kopii zapasowej danych programu SQL Server na taśmie wymaga obsługi stacji taśm lub stacji dysków przez system operacyjny Microsoft Windows. Ponadto w przypadku danego napędu taśmowego zalecamy używanie tylko taśm zalecanych przez producenta napędu. Aby uzyskać więcej informacji na temat instalowania stacji taśm, zobacz dokumentację systemu operacyjnego Windows.

Gdy jest używany napęd taśmowy, operacja tworzenia kopii zapasowej może wypełnić jedną taśmę i kontynuować na innej. Każda taśma zawiera nagłówek nośnika. Pierwszy używany nośnik jest nazywany taśmą początkową. Każda kolejna taśma jest znana jako taśma kontynuacji i ma numer sekwencji nośnika, który jest jeden wyższy niż poprzednia taśma. Na przykład zestaw nośników skojarzony z czterema urządzeniami taśmowymi zawiera co najmniej cztery początkowe taśmy (i, jeśli baza danych nie mieści się, cztery serie taśm kontynuacyjnych). Podczas dołączania zestawu kopii zapasowych należy zainstalować ostatnią taśmę w serii. Jeśli ostatnia taśma nie jest zamontowana, Silnik bazy danych skanuje dalej do końca zamontowanej taśmy, i następnie wymaga zmiany taśmy. W tym momencie zamontuj ostatnią taśmę.

Urządzenia do tworzenia kopii zapasowych taśm są używane, takie jak urządzenia dyskowe, z następującymi wyjątkami:

  • Urządzenie taśmowe musi być podłączone fizycznie do komputera, na którym działa instancja programu SQL Server. Tworzenie kopii zapasowych na zdalnych urządzeniach taśmowych nie jest obsługiwane.

  • Jeśli urządzenie kopii zapasowej na taśmie jest wypełnione podczas operacji tworzenia kopii zapasowej, ale nadal trzeba zapisywać więcej danych, program SQL Server monituje o nową taśmę i kontynuuje operację tworzenia kopii zapasowej po załadowaniu nowej taśmy.

Określanie taśmy kopii zapasowej przy użyciu jej nazwy fizycznej (Transact-SQL)

Podstawowa składnia BACKUP do określenia taśmy do kopii zapasowej przy użyciu fizycznej nazwy urządzenia napędu taśmowego to:

KOPIA ZAPASOWA { BAZA DANYCH | LOG } database_name

DO TAŚMY = { 'physical_backup_device_name' | @physical_backup_device_name_var }

Przykład:

BACKUP LOG AdventureWorks2022   
   TO TAPE = '\\.\tape0';  
GO  

Aby określić fizyczne urządzenie taśmowe w instrukcji RESTORE , podstawowa składnia to:

RESTORE { DATABASE | LOG } database_name

Z TAŚMY = { 'physical_backup_device_name' | @physical_backup_device_name_var }

Opcje tworzenia i przywracania kopii zapasowych specyficzne dla taśmy (Transact-SQL)

Aby ułatwić zarządzanie taśmami, instrukcja BACKUP udostępnia następujące opcje specyficzne dla taśm:

  • { NOUNLOAD | UNLOAD }

    Możesz kontrolować, czy taśma kopii zapasowej jest zwalniana automatycznie z stacji taśm po operacji tworzenia kopii zapasowej lub przywracania. UNLOAD/NOUNLOAD to ustawienie sesji, które utrzymuje się przez czas trwania sesji lub dopóki nie zostanie zresetowane, poprzez określenie alternatywy.

  • { REWIND | NOREWIND }

    Możesz kontrolować, czy program SQL Server utrzymuje taśmę otwartą po operacji tworzenia kopii zapasowej lub przywracania, czy zwalnia i przewija taśmę po jej wypełnieniu. Domyślne zachowanie polega na ponownym przewijeniu taśmy (REWIND).

Uwaga / Notatka

Aby uzyskać więcej informacji na temat składni i argumentów BACKUP, zobacz BACKUP (Transact-SQL). Aby uzyskać więcej informacji na temat składni i argumentów RESTORE, zobacz RESTORE (Transact-SQL) i RESTORE Arguments (Transact-SQL), odpowiednio.

Zarządzanie otwartymi taśmami

Aby wyświetlić listę otwartych urządzeń taśmowych i stan żądań montowania, wykonaj zapytanie do dynamicznego widoku zarządzania sys.dm_io_backup_tapes. Ten widok przedstawia wszystkie otwarte taśmy. Obejmują one taśmy, które pozostają czasowo nieaktywne podczas oczekiwania na następną operację BACKUP (kopii zapasowej) lub RESTORE (przywracania).

Jeśli taśma została przypadkowo pozostawiona otwarta, najszybszym sposobem zwolnienia taśmy jest użycie następującego polecenia: RESTORE REWINDONLY FROM TAPE =backup_device_name. Aby uzyskać więcej informacji, zobacz RESTORE REWINDONLY (Transact-SQL).

Korzystanie z usługi Azure Blob Storage

Kopie zapasowe programu SQL Server można zapisywać w usłudze Azure Blob Storage. Aby uzyskać więcej informacji na temat używania usługi Azure Blob Storage do tworzenia kopii zapasowych, zobacz Sql Server Backup and Restore with Microsoft Azure Blob Storage (Tworzenie kopii zapasowych i przywracanie programu SQL Server za pomocą usługi Microsoft Azure Blob Storage).

Używanie urządzenia do tworzenia kopii zapasowej logicznej

Urządzenie logicznej kopii zapasowej to opcjonalna, zdefiniowana przez użytkownika nazwa wskazująca określone fizyczne urządzenie kopii zapasowej (plik dysku lub stacja taśm). Urządzenie do tworzenia kopii zapasowej logicznej umożliwia użycie pośrednictwa podczas odwoływania się do odpowiedniego fizycznego urządzenia tworzącego kopie zapasowe.

Definiowanie logicznego urządzenia kopii zapasowej obejmuje przypisanie nazwy logicznej do urządzenia fizycznego. Na przykład urządzenie logiczne AdventureWorksBackups można zdefiniować, aby wskazywało na Z:\SQLServerBackups\AdventureWorks2022.bak plik lub napęd \\.\tape0 taśmowy. Polecenia tworzenia kopii zapasowej i przywracania mogą następnie określać AdventureWorksBackups jako urządzenie kopii zapasowej zamiast DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak' lub TAPE = '\\.\tape0'.

Nazwa urządzenia logicznego musi być unikatowa wśród wszystkich urządzeń logicznych kopii zapasowych na instancji serwera. Aby wyświetlić istniejące nazwy urządzeń logicznych, wykonaj zapytanie dotyczące widoku wykazu sys.backup_devices . Ten widok wyświetla nazwę każdego urządzenia logicznego kopii zapasowej i opisuje typ i nazwę pliku fizycznego lub ścieżkę odpowiedniego fizycznego urządzenia kopii zapasowej.

Po zdefiniowaniu logicznego urządzenia kopii zapasowej w poleceniu BACKUP lub RESTORE można określić urządzenie logiczne kopii zapasowej zamiast fizycznej nazwy urządzenia. Na przykład, poniższa instrukcja wykonuje kopię zapasową bazy danych AdventureWorks2025 na logiczne urządzenie kopii zapasowej AdventureWorksBackups.

BACKUP DATABASE AdventureWorks2022   
   TO AdventureWorksBackups;  
GO  

Uwaga / Notatka

W danej instrukcji BACKUP lub RESTORE logiczna nazwa urządzenia kopii zapasowej i odpowiadająca jej fizyczna nazwa urządzenia kopii zapasowej można stosować zamiennie.

Jedną z zalet korzystania z logicznego urządzenia do tworzenia kopii zapasowych jest to, że użycie jest prostsze niż długa ścieżka. Użycie urządzenia do tworzenia kopii zapasowej logicznej może pomóc, jeśli planujesz napisać serię kopii zapasowych na tej samej ścieżce lub na urządzeniu taśmowym. Urządzenia do tworzenia kopii zapasowych logicznych są szczególnie przydatne do identyfikowania urządzeń kopii zapasowych taśm.

Skrypt kopii zapasowej można zapisać w celu użycia określonego urządzenia do tworzenia kopii zapasowej logicznej. Dzięki temu można przełączyć się na nowe fizyczne urządzenia kopii zapasowej bez aktualizowania skryptu. Przełączanie obejmuje następujący proces:

  1. Porzucanie oryginalnego urządzenia do tworzenia kopii zapasowej logicznej.

  2. Definiowanie nowego logicznego urządzenia kopii zapasowej, które używa oryginalnej nazwy urządzenia logicznego, ale mapuje je na inne fizyczne urządzenie kopii zapasowej. Urządzenia do tworzenia kopii zapasowych logicznych są szczególnie przydatne do identyfikowania urządzeń kopii zapasowych taśm.

Zestawy nośników kopii zapasowych z lustrzanym odbiciem

Dublowanie zestawów nośników kopii zapasowych zmniejsza skutki awarii urządzeń do tworzenia kopii zapasowych. Te awarie są szczególnie poważne, ponieważ kopie zapasowe są ostatnią linią obrony przed utratą danych. W miarę zwiększania się rozmiarów baz danych rośnie prawdopodobieństwo, że awaria urządzenia kopii zapasowej lub nośnika sprawi, że przywrócenie kopii zapasowej stanie się niemożliwe. Dublowanie nośnika kopii zapasowych zwiększa niezawodność kopii zapasowych, zapewniając nadmiarowość fizycznego urządzenia kopii zapasowej. Aby uzyskać więcej informacji, zobacz Zestawy nośników kopii zapasowych odbiciowych (SQL Server).

Uwaga / Notatka

Dublowane zestawy nośników kopii zapasowych są obsługiwane tylko w wersjach SQL Server 2005 Enterprise i nowszych.

Archiwizowanie kopii zapasowych programu SQL Server

Zalecamy użycie narzędzia do tworzenia kopii zapasowych systemu plików w celu zarchiwizowania kopii zapasowych dysków i przechowywania archiwów poza lokacją. Użycie dysku ma zaletę używania sieci do zapisywania zarchiwizowanych kopii zapasowych na dysku poza lokacją. Usługa Azure Blob Storage może służyć jako opcja archiwizacji poza witryną. Możesz przekazać kopie zapasowe dysku lub bezpośrednio zapisać kopie zapasowe w usłudze Azure Blob Storage.

Innym typowym podejściem do archiwizacji jest zapisywanie kopii zapasowych programu SQL Server na lokalnym dysku kopii zapasowej, archiwizowanie ich na taśmie, a następnie przechowywanie taśm poza lokacją.

Powiązane zadania

Aby określić urządzenie dyskowe (SQL Server Management Studio)

Aby określić urządzenie taśmowe (SQL Server Management Studio)

Aby zdefiniować logiczne urządzenie kopii zapasowej

Aby użyć urządzenia do tworzenia kopii zapasowej logicznej

Aby wyświetlić informacje o urządzeniach kopii zapasowych

Aby usunąć logiczne urządzenie kopii zapasowej

Zobacz także

SQL Server, obiekt urządzenia kopii zapasowej
Kopia zapasowa (Transact-SQL)
Plany utrzymania
Zestawy multimediów, rodziny multimediów i zestawy kopii zapasowych (SQL Server)
PRZYWRÓĆ (Transact-SQL)
PRZYWRÓĆ LABELONLY (Transact-SQL)
sys.backup_devices (Transact-SQL)
sys.dm_io_backup_tapes (Transact-SQL)
Zwierciadlane zestawy nośników kopii zapasowych (SQL Server)