BACKUP CERTIFICATE (Transact-SQL)

Anwendungsbereich: JaSQL Server (alle unterstützten Versionen) JaParallel Data Warehouse

Exportiert ein Zertifikat in eine Datei.

Linksymbol Transact-SQL-Syntaxkonventionen

Syntax

-- Syntax for SQL Server  
  
BACKUP CERTIFICATE certname TO FILE = 'path_to_file'  
    [ WITH 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'   
      )   

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

certname
Der Name des Zertifikats für die Sicherung.

TO FILE = 'path_to_file'
Gibt den vollständigen Pfad einschließlich des Dateinamens zu der Datei an, in der das Zertifikat gespeichert werden soll. Dieser Pfad kann ein lokaler Pfad oder ein UNC-Pfad zu einer Netzwerkadresse sein. Wenn nur ein Dateiname angegeben ist, wird die Datei im Standardordner für Benutzerdaten der Instanz gespeichert (entweder SQL Server-DATA-Ordner oder nicht). Für SQL Server Express LocalDB entspricht der standardmäßige Benutzerdatenordner der Instanz dem von der Umgebungsvariable %USERPROFILE% angegebenen Pfad für das Konto, das die Instanz erstellt hat.

WITH PRIVATE KEY gibt an, dass der private Schlüssel des Zertifikats in einer Datei gespeichert werden muss. Diese Klausel ist optional.

FILE = 'path_to_private_key_file'
Gibt den vollständigen Pfad einschließlich des Dateinamens zu der Datei an, in der der private Schlüssel gespeichert werden soll. Dieser Pfad kann ein lokaler Pfad oder ein UNC-Pfad zu einer Netzwerkadresse sein. Wenn nur ein Dateiname angegeben ist, wird die Datei im Standardordner für Benutzerdaten der Instanz gespeichert (entweder SQL Server-DATA-Ordner oder nicht). Für SQL Server Express LocalDB entspricht der standardmäßige Benutzerdatenordner der Instanz dem von der Umgebungsvariable %USERPROFILE% angegebenen Pfad für das Konto, das die Instanz erstellt hat.

ENCRYPTION BY PASSWORD = 'encryption_password'
Das Kennwort, das zum Verschlüsseln des privaten Schlüssels verwendet wird, bevor der Schlüssel in die Sicherungsdatei geschrieben wird. Das Kennwort unterliegt Komplexitätsüberprüfungen.

DECRYPTION BY PASSWORD = 'decryption_password'
Das Kennwort, das zum Entschlüsseln des privaten Schlüssels verwendet wird, bevor der Schlüssel gesichert wird. Dieses Argument ist nicht erforderlich, wenn das Zertifikat mit dem Hauptschlüssel verschlüsselt ist.

Hinweise

Falls der private Schlüssel mit einem Kennwort in der Datenbank verschlüsselt wird, muss das Kennwort für die Entschlüsselung angegeben werden.

Bei der Sicherung des privaten Schlüssels in einer Datei ist eine Verschlüsselung erforderlich. Das Kennwort, mit dem der private Schlüssel in der Datei geschützt wird, ist nicht dasselbe Kennwort, mit dem der private Schlüssel des Zertifikats in der Datenbank verschlüsselt wird.

Private Schlüssel werden im PVK-Dateiformat gespeichert.

Verwenden Sie zum Wiederherstellen eines gesicherten Zertifikats mit oder ohne privatem Schlüssel die CREATE CERTIFICATE-Anweisung.

Verwenden Sie zum Wiederherstellen eines privaten Schlüssels in einem vorhandenen Zertifikat in der Datenbank die ALTER CERTIFICATE-Anweisung.

Bei einer Sicherung werden die Dateien für das Dienstkonto der SQL Server-Instanz der ACL hinzugefügt. Wenn Sie das Zertifikat auf einem Server wiederherstellen müssen, der unter einem anderen Konto ausgeführt wird, müssen Sie die Berechtigungen für die Dateien so anpassen, dass sie von dem neuen Konto gelesen werden können.

Berechtigungen

Erfordert die CONTROL-Berechtigung für das Zertifikat und die Kenntnis des Kennworts, das zum Verschlüsseln des privaten Schlüssels verwendet wurde. Falls nur der öffentliche Teil des Zertifikats gesichert wird, sind bei diesem Befehl bestimmte Berechtigungen für das Zertifikat erforderlich, und dem Aufrufer darf die VIEW-Berechtigung für das Zertifikat nicht verweigert worden sein.

Beispiele

A. Exportieren eines Zertifikats in eine Datei

Im folgenden Beispiel wird ein Zertifikat in eine Datei exportiert.

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

B. Exportieren eines Zertifikats und eines privaten Schlüssels

Im folgenden Beispiel wird der private Schlüssel des zu sichernden Zertifikats mit dem Kennwort 997jkhUbhk$w4ez0876hKHJH5gh verschlüsselt.

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

C. Exportieren eines Zertifikats mit einem verschlüsselten privaten Schlüssel

Im folgenden Beispiel ist der private Schlüssel des Zertifikats in der Datenbank verschlüsselt. Der private Schlüssel muss mit dem Kennwort 9875t6#6rfid7vble7r entschlüsselt werden. Beim Speichern des Zertifikats in der Sicherungsdatei wird der private Schlüssel mit dem Kennwort 9n34khUbhk$w4ecJH5gh verschlüsselt.

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  

Siehe auch

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)