Şifreli(Encrypted) Backup Almak

Domainizden farklı bir ortama backup alacağınız zaman, alacağınız backup’ın yetkili olmayan kişilerinin eline geçme riskine karşı backup’larınızı SQL Server’ın kendi şifreleme yöntemiyle şifreleyebilirsiniz.

 

Öncelikle instance üzerinde bir master key oluşturmalısınız. Aşağıdaki şekilde oluşturabilirsiniz.

 

USE master;  
GO  
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Şifreniz';  
GO  

Daha sonra sertifika oluşturmalısınız. Aşağıdaki şekilde oluşturabilirsiniz.

Use Master  
GO  
CREATE CERTIFICATE MyCert  
   WITH SUBJECT = 'My Test Certification';  

GO  

Sertifikanızı oluşturduktan sonra yapacağınız ilk iş sertifikanızın backup’ını almak olmalı. Aşağıdaki script yardımıyla bu işlemi gerçekleştirebilirsiniz.

 

BACKUP CERTIFICATE MyCert   TO FILE = 'C:\Backup\MyCert'  
    WITH PRIVATE KEY ( FILE = 'C:\Backup\MyCertPrivateKey' ,   
    ENCRYPTION BY PASSWORD = 'Şifreniz' );  
GO  

Yukarıdaki scriptte belirtilen path’lerde oluşan dosyalarınızı başka bir yere ayrıca kopyalamayı ihmal etmeyin. Yeni bir sunucu üzerine aldığınız backup’ı restore etmek istediğinizde bu dosyalar gerekecek. Bu yüzden dosyaları kaybetmemeniz gerekiyor.

Ayrıca şifreyi de unutmayın çünkü bu sertifikayı başka bir instance’a restore ederken sadece bu şifre ile restore edebilirsiniz.

Sertifikanızın backup’ını aldıktan sonra sizin için tanımlanmış olan \\MyShare isimli(MyShare bizim makale için belirlediğimiz bir isim. Sizin share isminiz farklı olabilir.) share’inize aşağıdaki script yardımıyla yedek alabilirsiniz.

BACKUP DATABASE [MyDB]  
TO DISK = N'\\MyShare\MyDB.BAK'  
WITH  
  COMPRESSION,  
  ENCRYPTION   
   (  
   ALGORITHM = AES_256,  
   SERVER CERTIFICATE = MyCert   
   ),  
  STATS = 1  
GO  

 

 

Loading

Leave Your Comment