Şifrelenmiş yedekleme oluşturma

Şunlar için geçerlidir: SQL Server

Bu makale, Transact-SQL kullanarak şifreli bir yedekleme oluşturmak için gereken adımları açıklar. SQL Server Management Studio kullanmak için bkz. Tam Veritabanı Yedekleri Oluştur.

Caution

Şifrelenmiş veritabanını geri yüklemek için, bu veritabanını şifrelemek için kullanılan sertifikaya veya asimetrik anahtara erişmeniz gerekir. Sertifika veya asimetrik anahtar olmadan bu veritabanını geri yükleyemezsiniz. Yedeklemeyi kaydetmeniz gerektiği sürece veritabanı şifreleme anahtarını şifrelemek için kullanılan sertifikayı kaydedin. Daha fazla bilgi için bkz. SQL Server Sertifikaları ve Asimetrik Anahtarlar.

Prerequisites

  • Şifreli yedek için depolama alanı. Hangi seçeneği seçerseniz, bunlardan biri:

    • Yerel bir disk veya veritabanının yedek oluşturabileceği yeterli alana sahip bir depolama.
    • Bir Azure Depolama hesabı ve bir konteyner. Daha fazla bilgi için bkz. Depolama hesabı oluşturma.
  • Veritabanı için master bir veritabanı ana anahtarı (DMK) ve SQL Server örneğinde bir sertifika veya asimetrik anahtar. Şifreleme gereksinimleri ve izinleri için bkz. Yedek şifreleme.

Bir veritabanı ana anahtarı (DMK) oluşturun

Veritabanında saklanacak DMK kopyasını şifrelemek için bir şifre seçin. Database Engine'e bağlanın, yeni bir sorgu penceresi başlatın, aşağıdaki örneği kopyalayıp yapıştırın ve Execute'u seçin.

Güçlü bir şifre ile değiştirin <master key password> ve hem DMK hem de şifrenin bir kopyasını güvenli bir yerde sakladığınızdan emin olun.

USE master;
GO

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

Yedek sertifika oluştur

Veritabanında master yedek sertifika oluşturun. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın.

Use master;
GO

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

Veritabanını şifreleme ile yedekleyin

Şifreli yedek oluşturmak için iki ana seçenek vardır:

  • Diske yedekleme
  • Azure Depolama’ya yedekleyin

Yerel bir diske şifrelenmiş bir veritabanı yedeklemesi oluşturmak için aşağıdaki adımları kullanın. Bu örnek, ' MyTestDBadlı bir kullanıcı veritabanı kullanır.

Kullanılacak şifreleme algoritması ve sertifikayı belirtin. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Yürüt'e tıklayın.

<path_to_local_backup> öğesini, SQL Server'ın yazma iznine sahip olduğu yerel bir yolla değiştirin. Örneğin, bu yol D:\SQLBackup olabilir.

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

Extensible Key Management (EKM) ile korunan bir yedekleme şifreleme örneği için bkz. Extensible Key Management Using Azure Key Vault (SQL Server).