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

S’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data WarehouseS’applique à :Applies to: ouiSQL ServerSQL Server (toutes les versions prises en charge) yesSQL ServerSQL Server (all supported versions) ouiAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ouiParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

Permet d'exporter un certificat dans un fichier.Exports a certificate to a file.

Icône de lien Conventions de la syntaxe Transact-SQLlink icon Transact-SQL Syntax Conventions

SyntaxeSyntax

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

Notes

Cette fonctionnalité est actuellement en préversion pour Azure Synapse AnalyticsThis 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'   
      )   

Notes

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 et versions antérieures, consultez Versions antérieures de la documentation.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumentsArguments

certnamecertname
Nom du certificat à sauvegarder.Is the name of the certificate to backup.

TO FILE = 'path_to_file'TO FILE = 'path_to_file'
Spécifie le chemin d'accès complet, y compris le nom de fichier, du fichier dans lequel le certificat doit être enregistré.Specifies the complete path, including file name, of the file in which the certificate is to be saved. Il peut s’agir d’un chemin d’accès local ou d’un chemin d’accès UNC à un emplacement réseau.This path can be a local path or a UNC path to a network location. Si seul un nom de fichier est spécifié, le fichier sera enregistré dans le dossier de données utilisateur de l’instance par défaut (qui peut être ou non le dossier DATA SQL ServerSQL Server).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). Pour la base de données locale SQL Server Express, le dossier de données utilisateur par défaut de l’instance correspond au chemin d’accès spécifié par la variable d’environnement %USERPROFILE% pour le compte qui a créé l’instance.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 Spécifie que la clé privée du certificat doit être enregistrée dans un fichier.WITH PRIVATE KEY Specifies that the private key of the certificate is to be saved to a file. Cette clause est facultative.This clause is optional.

FILE = 'path_to_private_key_file'FILE = 'path_to_private_key_file'
Spécifie le chemin d'accès complet, y compris le nom de fichier, du fichier dans lequel la clé privée doit être enregistrée.Specifies the complete path, including file name, of the file in which the private key is to be saved. Il peut s’agir d’un chemin d’accès local ou d’un chemin d’accès UNC à un emplacement réseau.This path can be a local path or a UNC path to a network location. Si seul un nom de fichier est spécifié, le fichier sera enregistré dans le dossier de données utilisateur de l’instance par défaut (qui peut être ou non le dossier DATA SQL ServerSQL Server).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). Pour la base de données locale SQL Server Express, le dossier de données utilisateur par défaut de l’instance correspond au chemin d’accès spécifié par la variable d’environnement %USERPROFILE% pour le compte qui a créé l’instance.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'
Mot de passe utilisé pour chiffrer la clé privée avant de l'enregistrer dans le fichier de sauvegarde.Is the password that is used to encrypt the private key before writing the key to the backup file. Le mot de passe est sujet à des vérifications de la complexité.The password is subject to complexity checks.

DECRYPTION BY PASSWORD = 'decryption_password'DECRYPTION BY PASSWORD = 'decryption_password'
Mot de passe utilisé pour déchiffrer la clé privée avant de sauvegarder la clé.Is the password that is used to decrypt the private key before backing up the key. Cet argument n’est pas nécessaire si le certificat est chiffré par la clé principale.This argument is not necessary if the certificate is encrypted by the master key.

NotesRemarks

Si la clé privée est chiffrée au moyen d'un mot de passe dans la base de données, le mot de passe de déchiffrement doit être spécifié.If the private key is encrypted with a password in the database, the decryption password must be specified.

Lorsque vous sauvegardez la clé privée dans un fichier, un chiffrement est nécessaire.When you back up the private key to a file, encryption is required. Le mot de passe utilisé pour protéger la clé privée dans le fichier est différent de celui qui sert à chiffrer la clé privée du certificat dans la base de données.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.

Les clés privées sont enregistrées au format de fichier PVK.Private keys are saved in the PVK file format.

Pour restaurer un certificat sauvegardé, avec ou sans la clé privée, utilisez l’instruction CREATE CERTIFICATE.To restore a backed up certificate, with or without the private key, use the CREATE CERTIFICATE statement.

Pour restaurer une clé privée pour un certificat existant dans la base de données, utilisez l’instruction ALTER CERTIFICATE.To restore a private key to an existing certificate in the database, use the ALTER CERTIFICATE statement.

Lors de l’exécution d’une sauvegarde, les fichiers seront mis sur une liste de contrôle d’accès du compte de service de l’instance SQL Server.When performing a backup, the files will be ACLd to the service account of the SQL Server instance. Si vous souhaitez restaurer le certificat sur un serveur en cours d’exécution sous un compte différent, vous devrez ajuster les autorisations sur les fichiers afin qu’ils puissent être lus par le nouveau compte.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.

AutorisationsPermissions

Requiert l'autorisation CONTROL sur le certificat et la connaissance du mot de passe utilisé pour chiffrer la clé privée.Requires CONTROL permission on the certificate and knowledge of the password that is used to encrypt the private key. Si seule la partie publique du certificat est sauvegardée, cette commande requiert quelques autorisations sur le certificat ; l’autorisation VIEW sur le certificat ne doit pas avoir été refusée à l’appelant.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.

ExemplesExamples

R.A. Exportation d'un certificat dans un fichierExporting a certificate to a file

Dans l'exemple ci-dessous, un certificat est exporté dans un fichier.The following example exports a certificate to a file.

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

B.B. Exportation d'un certificat et d'une clé privéeExporting a certificate and a private key

Dans l'exemple ci-dessous, la clé privée du certificat sauvegardé sera déchiffrée au moyen du mot de passe 997jkhUbhk$w4ez0876hKHJH5gh.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. Exportation d'un certificat qui possède une clé privée chiffréeExporting a certificate that has an encrypted private key

Dans l'exemple ci-dessous, la clé privée du certificat est chiffrée dans la base de données.In the following example, the private key of the certificate is encrypted in the database. La clé privée doit être déchiffrée au moyen du mot de passe 9875t6#6rfid7vble7r.The private key must be decrypted with the password 9875t6#6rfid7vble7r. Lorsque le certificat est stocké dans le fichier de sauvegarde, la clé privée est chiffrée au moyen du mot de passe 9n34khUbhk$w4ecJH5gh.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  

Voir aussiSee 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)