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).
Powiązana zawartość
- przywracanie kopii zapasowej bazy danych przy użyciu programu SSMS
- Hierarchia szyfrowania
- Przegląd kopii zapasowych (SQL Server)