SQL Server 2014 ile gelen yeniliklerden birisi de daha önce 3rd party firmalar tarafından sağlanan Native Backup Encryption’dır.
Native Backup Encryption AES128, AES192, AES256 ve Triple DES olmak üzere 4 adet şifreleme algoritmasını desteklemektedir ve sadece Standart, Business Intelligence ve Enterprise versiyonlarında bulunmaktadır.
Resim-1
Öncelikle database üzerinde bir master key oluşturmalıyız. Sonra yedekleme için oluşturacağımız sertifikayı oluşturabiliriz.
USE master
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ‘P@ssword1’
GO
CREATE CERTIFICATE Encrypted_Cert_Yedekleme
WITH SUBJECT = ‘Yedekleme için Şifreli Sertifika’
GO
Örnek olarak, AdventureWorks2012 veritabanının AES128 algoritması ile şifreli ve sıkıştırılmış yedeğini almak için, daha önce oluşturduğumuz sertifika dosyasını göstererek aşağıdaki sorguyu çalıştırmak yeterli.
BACKUP DATABASE AdventureWorks2012
TO DISK =’D:\AdventureWorks2012_YEDEK.bak’
WITH COMPRESSION,
ENCRYPTION (ALGORITHM = AES_128, SERVER CERTIFICATE = Encrypted_Cert_Yedekleme)
Resim-2
Yedeğimizi başarıyla oluşturduk. Ekran görüntüsünden de göreceğiniz üzere, Messages kısmında yedekten dönerken sorun yaşamamak için, sertifika ve bu sertifikaya ait private key’in yedeğini almamız konusunda bir uyarı yer alıyor.
Bu uyarıyı dikkate alıyoruz ve bahsedilen yedekleme işlemleri için de aşağıdaki sorguyu çalıştırıyoruz.
BACKUP MASTER KEY TO FILE = ‘D:\MasterKey.key’
ENCRYPTION BY PASSWORD = ‘P@ssword1’
GO
BACKUP CERTIFICATE Encrypted_Cert_Yedekleme TO FILE = ‘D:\Encrypted_Cert_Yedekleme.cert’
WITH PRIVATE KEY
(
FILE = ‘D:\Encrypted_Cert_Yedekleme_Private.key’,
ENCRYPTION BY PASSWORD = ‘P@ssword1’
)
Yedekleme işleminin, şifreleme algoritmalarına göre performansları aşağıdaki grafikten görebilirsiniz.
Resim-3
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
http://www.sqlperformance.com/2013/10/io-subsystem/native-backup-encryption