Udostępnij za pośrednictwem


Tworzenie zaszyfrowanej kopii zapasowej

Dotyczy:programu SQL Server

W tym artykule opisano kroki niezbędne do utworzenia zaszyfrowanej kopii zapasowej przy użyciu języka Transact-SQL. Aby zapoznać się z przykładem użycia programu SQL Server Management Studio, zobacz Tworzenie pełnej kopii zapasowej bazy danych.

Ostrożność

Aby przywrócić zaszyfrowaną bazę danych, musisz mieć dostęp do certyfikatu lub klucza asymetrycznego używanego do szyfrowania tej bazy danych. Bez certyfikatu lub klucza asymetrycznego nie można przywrócić tej bazy danych. Zapisz certyfikat używany do szyfrowania klucza szyfrowania bazy danych tak długo, jak trzeba zapisać kopię zapasową. Aby uzyskać więcej informacji, zobacz certyfikaty programu SQL Server i klucze asymetryczne.

Warunki wstępne

  • Przechowywanie zaszyfrowanej kopii zapasowej. W zależności od tego, którą opcję wybierzesz, jedną z:

    • Dysk lokalny lub magazyn z odpowiednim miejscem, aby utworzyć kopię zapasową bazy danych.
    • Konto usługi Azure Storage i kontener. Aby uzyskać więcej informacji, zobacz Tworzenie konta magazynowego.
  • Klucz główny bazy danych (DMK) dla bazy danych master oraz certyfikat lub klucz asymetryczny na instancji SQL Server. Aby uzyskać informacje o wymaganiach i uprawnieniach szyfrowania, zobacz Backup encryption.

Tworzenie klucza głównego bazy danych (DMK)

Wybierz hasło do szyfrowania kopii DMK, która zostanie przechowana w bazie danych. Połącz się z silnikiem bazy danych, uruchom nowe okno zapytania, skopiuj i wklej poniższy przykład, a następnie wybierz Wykonaj.

Zastąp <master key password> silnym hasłem i upewnij się, że kopia zestawu DMK i hasła jest przechowywana w bezpiecznej lokalizacji.

USE master;
GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master key password>';
GO

Tworzenie certyfikatu kopii zapasowej

Utwórz certyfikat kopii zapasowej w bazie danych master. Skopiuj poniższy przykład i wklej go w oknie zapytania, a następnie wybierz pozycję Wykonaj.

Use master;
GO

CREATE CERTIFICATE MyTestDBBackupEncryptCert
    WITH SUBJECT = 'MyTestDB Backup Encryption Certificate';
GO

Tworzenie kopii zapasowej bazy danych przy użyciu szyfrowania

Istnieją dwie główne opcje tworzenia zaszyfrowanej kopii zapasowej:

  • Tworzenie kopii zapasowej na dysku
  • Tworzenie kopii zapasowej do usługi Azure Storage

Wykonaj poniższe kroki, aby utworzyć zaszyfrowaną kopię zapasową bazy danych na dysku lokalnym. W tym przykładzie użyto bazy danych użytkownika o nazwie MyTestDB.

Określ algorytm szyfrowania i certyfikat do użycia. Skopiuj poniższy przykład i wklej go w oknie zapytania, a następnie wybierz pozycję Wykonaj.

Zastąp <path_to_local_backup> ścieżką lokalną, do której program SQL Server ma uprawnienia do zapisu. Na przykład ta ścieżka może być D:\SQLBackup.

BACKUP DATABASE [MyTestDB]
TO DISK = N'<path_to_local_backup>\MyTestDB.bak'
WITH
COMPRESSION,
ENCRYPTION (
    ALGORITHM = AES_256,
    SERVER CERTIFICATE = MyTestDBBackupEncryptCert
),
STATS = 10;
GO

Aby zapoznać się z przykładem szyfrowania kopii zapasowej chronionej przez rozszerzenie zarządzania kluczami (EKM), zobacz Extensible Key Management using Azure Key Vault (SQL Server).