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

ОБЛАСТЬ ПРИМЕНЕНИЯ:даSQL Server (начиная с 2008)нетБаза данных SQL AzureдаХранилище данных SQL AzureнетParallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) noAzure SQL Database noAzure SQL Data Warehouse yesParallel Data Warehouse

Экспортирует сертификат в файл.Exports a certificate to a file.

Значок ссылки Синтаксические обозначения в Transact-SQLlink icon Transact-SQL Syntax Conventions

Синтаксис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'   
      )   

АргументыArguments

certnamecertname
Имя копируемого сертификата.Is the name of the certificate to backup.

TO FILE = 'путь к файлу'TO FILE = 'path_to_file'
Указывает полный путь, включая имя файла, для файла, в котором должен быть сохранен сертификат.Specifies the complete path, including file name, of the file in which the certificate is to be saved. Это может быть локальный путь или UNC-путь к расположению в сети.This path can be a local path or a UNC path to a network location. Если указано только имя файла, файл будет сохранен в папке данных пользователя по умолчанию для экземпляра (это может быть, а может и не быть папка данных 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). В SQL Server Express LocalDB папкой данных пользователя по умолчанию для экземпляра является путь, указанный в переменной среды %USERPROFILE% учетной записи, создавшей этот экземпляр.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 указывает, что закрытый ключ сертификата следует сохранить в файл.WITH PRIVATE KEY Specifies that the private key of the certificate is to be saved to a file. Это предложение является необязательным.This clause is optional.

FILE = 'путь к файлу закрытого ключа'FILE = 'path_to_private_key_file'
Указывает полный путь, включая имя файла, для файла, в котором должен быть сохранен закрытый ключ.Specifies the complete path, including file name, of the file in which the private key is to be saved. Это может быть локальный путь или UNC-путь к расположению в сети.This path can be a local path or a UNC path to a network location. Если указано только имя файла, файл будет сохранен в папке данных пользователя по умолчанию для экземпляра (это может быть, а может и не быть папка данных 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). В SQL Server Express LocalDB папкой данных пользователя по умолчанию для экземпляра является путь, указанный в переменной среды %USERPROFILE% учетной записи, создавшей этот экземпляр.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 BY PASSWORD = 'encryption_password'
Пароль, используемый для шифрования закрытого ключа перед записью ключа в файл резервной копии.Is the password that is used to encrypt the private key before writing the key to the backup file. Пароль проходит проверку сложности.The password is subject to complexity checks.

DECRYPTION BY PASSWORD = 'пароль шифрования'DECRYPTION BY PASSWORD = 'decryption_password'
Пароль, используемый для дешифрования закрытого ключа перед созданием резервной копии ключа.Is the password that is used to decrypt the private key before backing up the key. Этот аргумент не является обязательным, если сертификат зашифрован главным ключом.This argument is not necessary if the certificate is encrypted by the master key.

RemarksRemarks

Если закрытый ключ зашифрован с паролем в базе данных, необходимо указать пароль для дешифрования.If the private key is encrypted with a password in the database, the decryption password must be specified.

При создании резервной копии закрытого ключа в файле шифрование является необходимым.When you back up the private key to a file, encryption is required. Пароль, используемый для защиты закрытого ключа в файле, не является тем же ключом, который применялся для шифрования закрытого ключа сертификата в базе данных.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.

Закрытые ключи сохраняются в формате PVK.Private keys are saved in the PVK file format.

Чтобы восстановить резервную копию сертификата без закрытого ключа или с ним, используйте инструкцию CREATE CERTIFICATE.To restore a backed up certificate, with or without the private key, use the CREATE CERTIFICATE statement.

Чтобы восстановить закрытый ключ в существующем сертификате в базе данных, используйте инструкцию ALTER CERTIFICATE.To restore a private key to an existing certificate in the database, use the ALTER CERTIFICATE statement.

При резервном копировании файлы будут перечислены в учетной записи службы экземпляра SQL Server.When performing a backup, the files will be ACLd to the service account of the SQL Server instance. Если вам нужно восстановить сертификат сервера, работающего в другой учетной записи, настройте разрешения для файлов, чтобы они считывались новой учетной записью.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.

РазрешенияPermissions

Требуется разрешение CONTROL для сертификата и знание пароля, использованного для шифрования закрытого ключа.Requires CONTROL permission on the certificate and knowledge of the password that is used to encrypt the private key. Если резервное копирование выполняется только для общедоступной части сертификата, этой команде требуются некоторые разрешения для сертификата, и чтобы для вызывающей программы не было запрещено разрешение VIEW для сертификата.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.

ПримерыExamples

A.A. Экспорт сертификата в файлExporting a certificate to a file

В следующем примере сертификат экспортируется в файл.The following example exports a certificate to a file.

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

Б.B. Экспорт сертификата и закрытого ключаExporting a certificate and a private key

В следующем примере закрытый ключ сертификата, подвергаемого резервному копированию, будет зашифрован с паролем 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. Экспорт сертификата с зашифрованным закрытым ключомExporting a certificate that has an encrypted private key

В следующем примере закрытый ключ сертификата подвергается шифрованию в базе данных.In the following example, the private key of the certificate is encrypted in the database. Дешифрование ключа должно проводиться с паролем 9875t6#6rfid7vble7r.The private key must be decrypted with the password 9875t6#6rfid7vble7r. При сохранении сертификата в файле резервной копии закрытый ключ будет зашифрован с паролем 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  

См. также:See 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)