次の方法で共有


ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

SQL Server 内の暗号化サービス プロバイダを拡張キー管理 (EKM: Extensible Key Management) プロバイダから変更します。

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

構文

ALTER CRYPTOGRAPHIC PROVIDER provider_name 
    [ FROM FILE = path_of_DLL ]
    ENABLE | DISABLE

引数

  • provider_name
    拡張キー管理プロバイダの名前を指定します。

  • Path_of_DLL
    SQL Server 拡張キー管理インターフェイスを実装する .dll ファイルのパスを指定します。

  • ENABLE | DISABLE
    プロバイダを有効にするか無効にするかを指定します。

説明

SQL Server で拡張キー管理を実装するために使用する .dll ファイルをプロバイダから変更する場合、ALTER CRYPTOGRAPHIC PROVIDER ステートメントを使用する必要があります。

ALTER CRYPTOGRAPHIC PROVIDER ステートメントを使用して .dll ファイルのパスを更新すると、SQL Server では次の操作が実行されます。

  • プロバイダを無効にします。

  • DLL の署名が、.dll ファイルの GUID がカタログに記録されているものと同じであることを確認します。

  • カタログの DLL バージョンを更新します。

EKM プロバイダを DISABLE に設定した場合、新しく接続するときに、暗号化ステートメントでそのプロバイダを使用しようとすると失敗します。

プロバイダを無効にするには、そのプロバイダを使用するすべてのセッションを終了する必要があります。

権限

暗号化サービス プロバイダに対する CONTROL 権限が必要です。

次の例では、SQL Server 内の SecurityProvider という暗号化サービス プロバイダを新しいバージョンの .dll ファイルに変更します。この新しいバージョンの .dll ファイルは、c:\SecurityProvider\SecurityProvider_v2.dll という名前でサーバーにインストールされています。プロバイダの証明書をサーバーにインストールする必要があります。

/* First, disable the provider to perform the upgrade.
This will terminate all open cryptographic sessions */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider 
DISABLE;
GO

/* Upgrade the provider .dll file. The GUID must the same
as the previous version, but the version can be different. */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';
GO

/* Enable the upgraded provider. */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider 
ENABLE;
GO