BACKUP CERTIFICATE (Transact-SQL)

Gäller för:SQL ServerAnalysplattformssystem (PDW)

Exporterar ett certifikat till en fil.

Note

I SQL Server 2022 (16.x) kan certifikat med privata nycklar säkerhetskopieras eller återställas direkt till och från filer eller binära blobbar med hjälp av PKCS-format (Public Key Pairs) #12 eller PFX(Personal Information Exchange).

PKCS #12- eller PFX-formatet är ett binärt format för lagring av servercertifikatet, eventuella mellanliggande certifikat och den privata nyckeln i en fil. PFX-filer har vanligtvis tillägg som .pfx och .p12. Detta gör det enklare för kunder att följa de aktuella riktlinjerna för bästa praxis för säkerhet och efterlevnadsstandarder som förbjuder RC4-kryptering, genom att eliminera behovet av att använda konverteringsverktyg som PVKConverter (för PVK- eller DER-format).

Transact-SQL syntaxkonventioner

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

certnamn
Är namnet på certifikatet att backa upp.

ATT ARKIVERA = 'path_to_file'
Specificerar hela sökvägen, inklusive filnamn, för filen där certifikatet ska sparas. Denna väg kan vara en lokal bana eller en UNC-väg till en nätverksplats. Om endast ett filnamn anges sparas filen i instansens standardmapp för användardata (som kan vara SQL Server DATA-mappen eller inte). För SQL Server Express LocalDB är instansens standardmapp för användardata den sökväg som anges av miljövariabeln %USERPROFILE% för det konto som skapade instansen.

MED FORMAT = "PFX"
Applies to: SQL Server 2022 (16.x) och senare
Specificerar att exportera ett certifikat och dess privata nyckel till en PFX-fil. Den här satsen är valfri.

MED PRIVAT NYCKEL Anger att certifikatets privata nyckel ska sparas i en fil. Den här satsen är valfri.

FIL = 'path_to_private_key_file'
Specificerar hela sökvägen, inklusive filnamn, för filen där den privata nyckeln ska sparas. Denna väg kan vara en lokal bana eller en UNC-väg till en nätverksplats. Om endast ett filnamn anges sparas filen i instansens standardmapp för användardata (som kan vara SQL Server DATA-mappen eller inte). För SQL Server Express LocalDB är instansens standardmapp för användardata den sökväg som anges av miljövariabeln %USERPROFILE% för det konto som skapade instansen.

KRYPTERING MED LÖSENORD = 'encryption_password'
Är lösenordet som används för att kryptera den privata nyckeln innan nyckeln skrivs till backup-filen. Lösenordet är föremål för komplexitetskontroller.

DEKRYPTERING MED LÖSENORD = 'decryption_password'
Är lösenordet som används för att dekryptera den privata nyckeln innan nyckeln säkerhetskopieras. Detta argument är inte nödvändigt om certifikatet är krypterat med huvudnyckeln.

Remarks

Om den privata nyckeln är krypterad med ett lösenord i databasen måste dekrypteringslösenordet specificeras.

När du säkerhetskopierar den privata nyckeln till en fil krävs kryptering. Lösenordet som används för att skydda den privata nyckeln i filen är inte samma lösenord som används för att kryptera certifikatets privata nyckel i databasen.

Privata nycklar sparas i PVK-filformatet.

För att återställa ett säkerhetskopierat certifikat, med eller utan den privata nyckeln, använd uttalandet CREATE CERTIFICATE .

För att återställa en privat nyckel till ett befintligt certifikat i databasen, använd satsen ALTER CERTIFICATE .

När en backup görs kommer filerna att ACL:as till tjänstekontot för SQL Server-instansen. Om du behöver återställa certifikatet på en server som körs under ett annat konto, måste du justera behörigheterna på filerna så att de kan läsas av det nya kontot.

Permissions

Kräver CONTROL-behörighet på certifikatet och kunskap om lösenordet som används för att kryptera den privata nyckeln. Om endast den offentliga delen av certifikatet säkerhetskopieras kräver detta kommando någon behörighet på certifikatet och att anroparen inte har nekats VIEW tillstånd på certifikatet.

Examples

A. Exportera ett certifikat till en fil

Följande exempel exporterar ett certifikat till en fil.

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

B. Exportera ett certifikat och en privat nyckel

I följande exempel kommer den privata nyckeln till certifikatet som säkerhetskopieras att krypteras med lösenordet 997jkhUbhk$w4ez0876hKHJH5gh.

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

C. Exportera ett certifikat som har en krypterad privat nyckel

I följande exempel är certifikatets privata nyckel krypterad i databasen. Den privata nyckeln måste dekrypteras med lösenordet 9875t6#6rfid7vble7r. När certifikatet lagras i backupfilen kommer den privata nyckeln att krypteras med lösenordet 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. Exportera ett certifikat och dess privata nyckel till en PFX-fil

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

Se även

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