BACKUP CERTIFICATE (Transact-SQL)

証明書をファイルにエクスポートします。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

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

引数

  • path_to_file
    証明書を保存するファイルの完全なパスを、ファイル名を含めて指定します。 ローカル パスまたはネットワーク上の場所を示す UNC パスを指定できます。 既定値は SQL Server の DATA フォルダーのパスです。

  • path_to_private_key_file
    秘密キーを保存するファイルの完全なパスを、ファイル名を含めて指定します。 ローカル パスまたはネットワーク上の場所を示す UNC パスを指定できます。 既定値は SQL Server の DATA フォルダーのパスです。

  • encryption_password
    バックアップ ファイルに秘密キーを書き込む前に、キーを暗号化するため使用するパスワードを指定します。 このパスワードに対しては、複雑性がチェックされます。

  • decryption_password
    秘密キーをバックアップする前に、秘密キーの暗号化を解除するため使用するパスワードを指定します。

説明

データベースで秘密キーがパスワードによって暗号化されている場合は、暗号化解除パスワードを指定する必要があります。

秘密キーをファイルにバックアップする場合は、暗号化が必要です。 バックアップした証明書の保護に使用するパスワードは、証明書の秘密キーの暗号化に使用するパスワードとは異なります。

バックアップした証明書を復元するには、CREATE CERTIFICATE ステートメントを使用します。

権限

証明書に対する CONTROL 権限と、秘密キーの暗号化に使用するパスワードの情報が必要です。 証明書のパブリックの部分だけをバックアップする場合は、証明書の権限が必要です。また、呼び出し元に対して証明書の VIEW 権限が拒否されていないことも必要になります。

使用例

A. 証明書をファイルにエクスポートする

次の例では、証明書をファイルにエクスポートします。

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

B. 証明書と秘密キーをエクスポートする

次の例では、バックアップする証明書の秘密キーをパスワード 997jkhUbhk$w4ez0876hKHJH5gh で暗号化します。

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

C. 秘密キーが暗号化されている証明書をエクスポートする

次の例では、データベースで証明書の秘密キーが暗号化されています。 この秘密キーは、パスワード 9875t6#6rfid7vble7r を使って暗号化を解除する必要があります。 証明書をバックアップ ファイルに保存するときには、秘密キーをパスワード 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

関連項目

参照

CREATE CERTIFICATE (Transact-SQL)

ALTER CERTIFICATE (Transact-SQL)

DROP CERTIFICATE (Transact-SQL)