BACKUP CERTIFICATE (Transact-SQL)BACKUP CERTIFICATE (Transact-SQL)

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics JaParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseAnwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics JaParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

Exportiert ein Zertifikat in eine Datei.Exports a certificate to a file.

Linksymbol Transact-SQL-Syntaxkonventionenlink icon Transact-SQL Syntax Conventions

SyntaxSyntax

-- 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' ]   
      )   
    ]  

Hinweis

Dieses Feature befindet sich derzeit in der Vorschau für Azure Synapse Analytics.This feature is currently in preview for Azure Synapse Analytics

-- Syntax for Azure Synapse Analytics and 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.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumenteArguments

certnamecertname
Der Name des Zertifikats für die Sicherung.Is the name of the certificate to backup.

TO FILE = 'path_to_file'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.Specifies the complete path, including file name, of the file in which the certificate is to be saved. Dieser Pfad kann ein lokaler Pfad oder ein UNC-Pfad zu einer Netzwerkadresse sein.This path can be a local path or a UNC path to a network location. Wenn nur ein Dateiname angegeben ist, wird die Datei im Standardordner für Benutzerdaten der Instanz gespeichert (entweder SQL ServerSQL Server-DATA-Ordner oder nicht).If only a file name is specified, the file will be saved in the instance's default user data folder (which may or may not be the SQL ServerSQL Server DATA folder). 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.For SQL Server Express LocalDB, the instance's default user data folder is the path specified by the %USERPROFILE% environment variable for the account that created the instance.

WITH PRIVATE KEY gibt an, dass der private Schlüssel des Zertifikats in einer Datei gespeichert werden muss.WITH PRIVATE KEY Specifies that the private key of the certificate is to be saved to a file. Diese Klausel ist optional.This clause is optional.

FILE = 'path_to_private_key_file'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.Specifies the complete path, including file name, of the file in which the private key is to be saved. Dieser Pfad kann ein lokaler Pfad oder ein UNC-Pfad zu einer Netzwerkadresse sein.This path can be a local path or a UNC path to a network location. Wenn nur ein Dateiname angegeben ist, wird die Datei im Standardordner für Benutzerdaten der Instanz gespeichert (entweder SQL ServerSQL Server-DATA-Ordner oder nicht).If only a file name is specified, the file will be saved in the instance's default user data folder (which may or may not be the SQL ServerSQL Server DATA folder). 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.For SQL Server Express LocalDB, the instance's default user data folder is the path specified by the %USERPROFILE% environment variable for the account that created the instance.

ENCRYPTION BY PASSWORD = 'encryption_password'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.Is the password that is used to encrypt the private key before writing the key to the backup file. Das Kennwort unterliegt Komplexitätsüberprüfungen.The password is subject to complexity checks.

DECRYPTION BY PASSWORD = 'decryption_password'DECRYPTION BY PASSWORD = 'decryption_password'
Das Kennwort, das zum Entschlüsseln des privaten Schlüssels verwendet wird, bevor der Schlüssel gesichert wird.Is the password that is used to decrypt the private key before backing up the key. Dieses Argument ist nicht erforderlich, wenn das Zertifikat mit dem Hauptschlüssel verschlüsselt ist.This argument is not necessary if the certificate is encrypted by the master key.

BemerkungenRemarks

Falls der private Schlüssel mit einem Kennwort in der Datenbank verschlüsselt wird, muss das Kennwort für die Entschlüsselung angegeben werden.If the private key is encrypted with a password in the database, the decryption password must be specified.

Bei der Sicherung des privaten Schlüssels in einer Datei ist eine Verschlüsselung erforderlich.When you back up the private key to a file, encryption is required. 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.The password used to protect the private key in the file is not the same password that is used to encrypt the private key of the certificate in the database.

Private Schlüssel werden im PVK-Dateiformat gespeichert.Private keys are saved in the PVK file format.

Verwenden Sie zum Wiederherstellen eines gesicherten Zertifikats mit oder ohne privatem Schlüssel die CREATE CERTIFICATE-Anweisung.To restore a backed up certificate, with or without the private key, use the CREATE CERTIFICATE statement.

Verwenden Sie zum Wiederherstellen eines privaten Schlüssels in einem vorhandenen Zertifikat in der Datenbank die ALTER CERTIFICATE-Anweisung.To restore a private key to an existing certificate in the database, use the ALTER CERTIFICATE statement.

Bei einer Sicherung werden die Dateien für das Dienstkonto der SQL Server-Instanz der ACL hinzugefügt.When performing a backup, the files will be ACLd to the service account of the SQL Server instance. 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.If you need to restore the certificate to a server running under a different account, you will need to adjust the permissions on the files so that they are able to be read by the new account.

BerechtigungenPermissions

Erfordert die CONTROL-Berechtigung für das Zertifikat und die Kenntnis des Kennworts, das zum Verschlüsseln des privaten Schlüssels verwendet wurde.Requires CONTROL permission on the certificate and knowledge of the password that is used to encrypt the private key. 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.If only the public part of the certificate is backed up, this command requires some permission on the certificate and that the caller has not been denied VIEW permission on the certificate.

BeispieleExamples

A.A. Exportieren eines Zertifikats in eine DateiExporting a certificate to a file

Im folgenden Beispiel wird ein Zertifikat in eine Datei exportiert.The following example exports a certificate to a file.

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

B.B. Exportieren eines Zertifikats und eines privaten SchlüsselsExporting a certificate and a private key

Im folgenden Beispiel wird der private Schlüssel des zu sichernden Zertifikats mit dem Kennwort 997jkhUbhk$w4ez0876hKHJH5gh verschlüsselt.In the following example, the private key of the certificate that is backed up will be encrypted with the password 997jkhUbhk$w4ez0876hKHJH5gh.

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

C.C. Exportieren eines Zertifikats mit einem verschlüsselten privaten SchlüsselExporting a certificate that has an encrypted private key

Im folgenden Beispiel ist der private Schlüssel des Zertifikats in der Datenbank verschlüsselt.In the following example, the private key of the certificate is encrypted in the database. Der private Schlüssel muss mit dem Kennwort 9875t6#6rfid7vble7r entschlüsselt werden.The private key must be decrypted with the password 9875t6#6rfid7vble7r. Beim Speichern des Zertifikats in der Sicherungsdatei wird der private Schlüssel mit dem Kennwort 9n34khUbhk$w4ecJH5gh verschlüsselt.When the certificate is stored to the backup file, the private key will be encrypted with the password 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  

Weitere InformationenSee Also

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