BACKUP CERTIFICATE (Transact-SQL)

Platí na:SQL ServerAnalytický platformový systém (PDW)

Exportuje certifikát do souboru.

Note

V SYSTÉMU SQL Server 2022 (16.x) je možné certifikáty s privátními klíči zálohovat nebo obnovit přímo do souborů nebo binárních objektů blob pomocí párů veřejných klíčů (PKCS) č. 12 nebo ve formátu PFX (Personal Information Exchange).

Formát PKCS č. 12 nebo PFX je binární formát pro ukládání certifikátu serveru, všech zprostředkujících certifikátů a privátního klíče v jednom souboru. SOUBORY PFX obvykle mají přípony, například .pfx a .p12. To usnadňuje zákazníkům dodržování aktuálních pravidel osvědčených postupů zabezpečení a standardů dodržování předpisů, které zakazují šifrování RC4 tím, že eliminují potřebu používat nástroje pro převod, jako je PVKConverter (pro formát PVK nebo DER).

Transact-SQL konvence syntaxe

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
Je název certifikátu pro zálohu.

TO FILE = 'path_to_file'
Specifikuje úplnou cestu, včetně názvu souboru, do kterého má být certifikát uložen. Tato cesta může být lokální nebo UNC cesta vedoucí k síťovému místu. Pokud je uveden pouze název souboru, soubor bude uložen do výchozí složky user data instance (která může, ale nemusí být složkou SQL Server DATA). Pro SQL Server Express LocalDB je výchozí složka uživatelských dat instance cestou určenou %USERPROFILE% proměnnou prostředí pro účet, který instanci vytvořil.

S FORMÁTEM = 'PFX'
platí pro: SQL Server 2022 (16.x) a novější
Specifikuje export certifikátu a jeho soukromého klíče do PFX souboru. Tato klauzule je nepovinná.

S PRIVÁTNÍM KLÍČEM Specifikuje, že soukromý klíč certifikátu má být uložen do souboru. Tato klauzule je nepovinná.

SOUBOR = 'path_to_private_key_file'
Specifikuje úplnou cestu, včetně názvu souboru, do kterého má být soukromý klíč uložen. Tato cesta může být lokální nebo UNC cesta vedoucí k síťovému místu. Pokud je uveden pouze název souboru, soubor bude uložen do výchozí složky user data instance (která může, ale nemusí být složkou SQL Server DATA). Pro SQL Server Express LocalDB je výchozí složka uživatelských dat instance cestou určenou %USERPROFILE% proměnnou prostředí pro účet, který instanci vytvořil.

ŠIFROVÁNÍ HESLEM = 'encryption_password'
Je heslo, které se používá k zašifrování soukromého klíče před zápisem klíče do zálohy. Heslo podléhá kontrole složitosti.

DEŠIFROVÁNÍ HESLEM = 'decryption_password'
Je heslo, které se používá k dešifrování soukromého klíče před jeho zálohováním. Tento argument není nutný, pokud je certifikát zašifrovaný hlavním klíčem.

Remarks

Pokud je soukromý klíč v databázi zašifrovan heslem, musí být uvedeno heslo pro dešifrovaní.

Když zálohujete soukromý klíč do souboru, je vyžadováno šifrování. Heslo použité k ochraně soukromého klíče v souboru není stejné heslo, které se používá k šifrování soukromého klíče certifikátu v databázi.

Soukromé klíče jsou uloženy ve formátu souboru PVK.

Pro obnovení zálohovaného certifikátu, s privátním klíčem nebo bez něj, použijte CREATE CERTIFICATE tento příkaz.

Pro obnovení soukromého klíče k existujícímu certifikátu v databázi použijte ALTER CERTIFICATE příkaz.

Při provádění zálohování budou soubory přiřazeny k účtu služby instance SQL Server. Pokud potřebujete obnovit certifikát na server běžící pod jiným účtem, budete muset upravit oprávnění na souborech tak, aby je nový účet mohl číst.

Permissions

Vyžaduje CONTROL oprávnění na certifikát a znalost hesla, které se používá k šifrování soukromého klíče. Pokud je zálohována pouze veřejná část certifikátu, tento příkaz vyžaduje určité oprávnění na certifikátu a aby volající nebyl odepřen VIEW o povolení na certifikát.

Examples

A. Export certifikátu do souboru

Následující příklad exportuje certifikát do souboru.

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

B. Export certifikátu a soukromého klíče

V následujícím příkladu bude soukromý klíč zálohovaného certifikátu zašifrován heslem 997jkhUbhk$w4ez0876hKHJH5gh.

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

C. Export certifikátu, který má šifrovaný soukromý klíč

V následujícím příkladu je soukromý klíč certifikátu v databázi zašifrovan. Soukromý klíč musí být dešifrován heslem 9875t6#6rfid7vble7r. Když je certifikát uložen do záložního souboru, soukromý klíč bude zašifrován heslem 9n34khUbhk$w4ecJH5gh.

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. Exportovat certifikát a jeho soukromý klíč do PFX souboru

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

Viz také

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)