BACKUP CERTIFICATE (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAnalitik Platform Sistemi (PDW)

Bir sertifikayı bir dosyaya aktarır.

Note

SQL Server 2022'de (16.x), özel anahtarlara sahip sertifikalar, ortak anahtar çiftleri (PKCS) #12 veya kişisel bilgi değişimi (PFX) biçimi kullanılarak dosyalara veya ikili bloblara doğrudan yedeklenebilir veya geri yüklenebilir.

PKCS #12 veya PFX biçimi, sunucu sertifikasını, ara sertifikaları ve özel anahtarı tek bir dosyada depolamak için ikili bir biçimdir. PFX dosyaları genellikle ve .pfxgibi .p12 uzantılara sahiptir. Bu, MÜŞTERILERIN PVKConverter (PVK veya DER biçimi için) gibi dönüştürme araçlarını kullanma gereksinimini ortadan kaldırarak RC4 şifrelemesini yasaklayan geçerli güvenlik en iyi uygulama yönergelerine ve uyumluluk standartlarına uymasını kolaylaştırır.

Transact-SQL söz dizimi kuralları

Syntax

-- Syntax for SQL Server  
  
BACKUP CERTIFICATE certname TO FILE = 'path_to_file'  
    [ WITH
      [FORMAT = 'PFX',]
      PRIVATE KEY   
      (   
        FILE = 'path_to_private_key_file' ,  
        ENCRYPTION BY PASSWORD = 'encryption_password'   
        [ , DECRYPTION BY PASSWORD = 'decryption_password' ]   
      )   
    ]  
-- Syntax for Parallel Data Warehouse  
  
BACKUP CERTIFICATE certname TO FILE ='path_to_file'  
      WITH PRIVATE KEY   
      (   
        FILE ='path_to_private_key_file',  
        ENCRYPTION BY PASSWORD ='encryption_password'   
      )   

Arguments

certname
Sertifikanın adı yedek olmalı.

DOSYAYA = 'path_to_file'
Sertifikanın kaydedileceği dosyanın dosya adı dahil tam yolunu belirtir. Bu yol, ağ konumuna giden yerel bir yol veya UNC yolu olabilir. Sadece bir dosya adı belirtilmişse, dosya örneğin varsayılan kullanıcı veri klasörüne kaydedilir (bu klasör SQL Server DATA klasörü olabilir veya olmayabilir). SQL Server Express LocalDB için, örneğin varsayılan kullanıcı veri klasörü, örneği oluşturan hesap için ortam değişkeni tarafından belirlenen %USERPROFILE% yoldur.

FORMAT = 'PFX'
Şunlar için geçerlidir: SQL Server 2022 (16.x) ve üzeri
Bir sertifikanın ve özel anahtarının PFX dosyasına dışa aktarılmasını belirtir. Bu yan tümce isteğe bağlıdır.

ÖZEL ANAHTAR İLE Sertifikanın özel anahtarının bir dosyaya kaydedileceğini belirtir. Bu yan tümce isteğe bağlıdır.

DOSYA = 'path_to_private_key_file'
Özel anahtarın kaydedileceği dosyanın dosya adı dahil olmak üzere tam yolunu belirtir. Bu yol, ağ konumuna giden yerel bir yol veya UNC yolu olabilir. Sadece bir dosya adı belirtilmişse, dosya örneğin varsayılan kullanıcı veri klasörüne kaydedilir (bu klasör SQL Server DATA klasörü olabilir veya olmayabilir). SQL Server Express LocalDB için, örneğin varsayılan kullanıcı veri klasörü, örneği oluşturan hesap için ortam değişkeni tarafından belirlenen %USERPROFILE% yoldur.

ŞIFREYLE ŞIFRELEME = 'encryption_password'
Anahtarı yedekleme dosyasına yazmadan önce özel anahtarı şifrelemek için kullanılan şifredir. Şifre karmaşıklık kontrolüne tabi tutulur.

ŞIFREYLE ÇÖZME = 'decryption_password'
Anahtarı yedeklemeden önce özel anahtarı çözmek için kullanılan şifredir. Sertifika ana anahtarla şifrelenmişse bu argüman gerekli değildir.

Remarks

Özel anahtar veritabanında bir şifreyle şifrelenmişse, şifre çözme şifresi belirtilmelidir.

Bir dosyaya özel anahtarı yedeklerken şifreleme gereklidir. Dosyadaki özel anahtarı korumak için kullanılan şifre, veritabanındaki sertifikanın özel anahtarını şifrelemek için kullanılan şifreyle aynı değildir.

Özel anahtarlar PVK dosya formatında kaydedilir.

Yedeklenmiş bir sertifikayı geri yüklemek için, özel anahtar olsun ya da olmasın, şu ifadeyi CREATE CERTIFICATE kullanın.

Veritabanındaki mevcut bir sertifikaya özel anahtarı geri yüklemek için şu ifadeyi ALTER CERTIFICATE kullanın.

Yedek yapıldığında, dosyalar SQL Server örneğinin servis hesabına ACL olarak gönderilir. Sertifikayı farklı bir hesap altında çalışan bir sunucuya geri yüklemeniz gerekirse, dosyaların izinlerini yeni hesap tarafından okunabilmesi için ayarlamanız gerekir.

Permissions

Sertifika üzerinde CONTROL izni ve özel anahtarı şifrelemek için kullanılan şifre bilgisi gereklidir. Sertifikanın sadece genel kısmı yedeklenirse, bu komut sertifika üzerinde bir izin gerektirir ve arayan kişinin sertifika üzerinde izin reddedilmediğini VIEW gösterir.

Examples

A. Bir sertifikanın dosyaya aktarılması

Aşağıdaki örnek, bir sertifikayı bir dosyaya dışa aktarır.

BACKUP CERTIFICATE sales05 TO FILE = 'c:\storedcerts\sales05cert';  
GO  

B. Bir sertifika ve özel anahtarın dışa aktarılması

Aşağıdaki örnekte, yedeklenen sertifikanın özel anahtarı şifre ile 997jkhUbhk$w4ez0876hKHJH5ghşifrelenecektir.

BACKUP CERTIFICATE sales05 TO FILE = 'c:\storedcerts\sales05cert'  
    WITH PRIVATE KEY ( FILE = 'c:\storedkeys\sales05key' ,   
    ENCRYPTION BY PASSWORD = '997jkhUbhk$w4ez0876hKHJH5gh' );  
GO  

C. Şifrelenmiş özel anahtara sahip bir sertifikanın dışa aktarılması

Aşağıdaki örnekte, sertifikanın özel anahtarı veritabanında şifrelenmiştir. Özel anahtar, şifre 9875t6#6rfid7vble7rile çözülmelidir. Sertifika yedekleme dosyasına kaydedildiğinde, özel anahtar şifreyle 9n34khUbhk$w4ecJH5ghşifrelenecektir.

BACKUP CERTIFICATE sales09 TO FILE = 'c:\storedcerts\sales09cert'   
    WITH PRIVATE KEY ( DECRYPTION BY PASSWORD = '9875t6#6rfid7vble7r' ,  
    FILE = 'c:\storedkeys\sales09key' ,   
    ENCRYPTION BY PASSWORD = '9n34khUbhk$w4ecJH5gh' );  
GO  

D. Bir sertifika ve özel anahtarını bir PFX dosyasına aktarın

BACKUP CERTIFICATE Shipping04 TO FILE = 'c:\storedcerts\shipping04cert.pfx'
WITH  
    FORMAT = 'PFX',  
    PRIVATE KEY ( 
ENCRYPTION BY PASSWORD = '9n34khUbhk$w4ecJH5gh',  
ALGORITHM = 'AES_256'
    )

Ayrıca bakınız

CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
CERTENCODED (Transact-SQL)
CERTPRIVATEKEY (Transact-SQL)
CERT_ID (Transact-SQL)
CERTPROPERTY (Transact-SQL)