次の方法で共有


ALTER SERVICE MASTER KEY (Transact-SQL)

SQL Server インスタンスのサービス マスター キーを変更します。

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

構文

ALTER SERVICE MASTER KEY 
    [ { <regenerate_option> | <recover_option> } ] [;]

<regenerate_option> ::=
    [ FORCE ] REGENERATE

<recover_option> ::=
    { WITH OLD_ACCOUNT = 'account_name' , OLD_PASSWORD = 'password' }
    |    
    { WITH NEW_ACCOUNT = 'account_name' , NEW_PASSWORD = 'password' }

引数

  • FORCE
    データが失われる可能性があっても、サービス マスター キーを再生成することを示します。 詳細については、後の「SQL Server サービス アカウントの変更」を参照してください。

  • REGENERATE
    サービス マスター キーを再生成することを示します。

  • OLD_ACCOUNT ='account_name'
    古い Windows サービス アカウントの名前を指定します。

    注記注意

    このオプションは、互換性のために残されています。 使用しないでください。 代わりに SQL Server 構成マネージャーを使用してください。

  • OLD_PASSWORD ='password'
    古い Windows サービス アカウントのパスワードを指定します。

    注記注意

    このオプションは、互換性のために残されています。 使用しないでください。 代わりに SQL Server 構成マネージャーを使用してください。

  • NEW_ACCOUNT ='account_name'
    新しい Windows サービス アカウントの名前を指定します。

    注記注意

    このオプションは、互換性のために残されています。 使用しないでください。 代わりに SQL Server 構成マネージャーを使用してください。

  • NEW_PASSWORD ='password'
    新しい Windows サービス アカウントのパスワードを指定します。

    注記注意

    このオプションは、互換性のために残されています。 使用しないでください。 代わりに SQL Server 構成マネージャーを使用してください。

説明

サービス マスター キーは、リンク サーバーのパスワード、資格情報、またはデータベースのマスター キーの暗号化が最初に必要になったときに、自動的に生成されます。 サービス マスター キーは、ローカル コンピューターのキーまたは Windows Data Protection API を使用して暗号化されます。 この API では、SQL Server サービス アカウントの Windows 資格情報から派生するキーが使用されます。

SQL Server 2012 は、AES 暗号化アルゴリズムを使用してサービス マスター キー (SMK) とデータベース マスター キー (DMK) を保護します。 AES は、以前のバージョンで使用されていた 3DES よりも新しい暗号化アルゴリズムです。 データベース エンジン のインスタンスを SQL Server 2012 にアップグレードした後で、マスター キーを AES にアップグレードするために SMK と DMK を再度生成する必要があります。 DMK の再作成方法の詳細については、「ALTER MASTER KEY (Transact-SQL)」を参照してください。

SQL Server サービス アカウントの変更

SQL Server サービス アカウントを変更するには、SQL Server 構成マネージャーを使用します。SQL Server では、サービス アカウントの変更を管理するために、サービス マスター キーの冗長なコピーが保存されます。このコピーは、SQL Server サービス グループに与えられる必要な権限を持つコンピューター アカウントによって保護されます。コンピューターを再構築した場合、以前にサービス アカウントによって使用されていたのと同じドメイン ユーザーがサービス マスター キーを復元できますが、 ローカル アカウントや、Local System、Local Service、Network Service の各アカウントでは復元できません。 SQL Server を別のコンピューターに移動する場合は、バックアップと復元を使用してサービス マスター キーを移行してください。

REGENERATE 句では、サービス マスター キーが再生成されます。 サービス マスター キーが再生成されると、SQL Server では古いサービス マスター キーで暗号化されていたすべてのキーの暗号化が解除され、それらのキーが新しいマスター キーで暗号化されます。 ただし、この操作はリソースを大量に消費するため、 キーのセキュリティに問題がある場合を除き、リソース要求が少ないときに実行するように考慮してください。 暗号化解除が 1 つでも失敗した場合は、ステートメント全体が失敗します。

FORCE オプションを使用すると、キーの再生成処理で現在のマスター キーを取得できなかった場合や、そのマスター キーで暗号化されている秘密キーをすべて暗号化解除できなかった場合でも、再生成処理が続行されます。 FORCE は、再生成が失敗し、RESTORE SERVICE MASTER KEY ステートメントを使用してもサービス マスター キーを復元できない場合にのみ使用してください。

注記注意

サービス マスター キーは、SQL Server 暗号化階層のルートになります。 サービス マスター キーでは、直接または間接的に、そのツリー内にある他のすべてのキーとシークレットが保護されます。 強制再生成で、依存関係のあるキーの暗号化を解除できなかった場合、そのキーで保護されているデータは失われます。

別のコンピューターに SQL を移動する場合、同じサービス アカウントを使用して SMK の暗号化を解除する必要があります。SQL Server では、自動的に、コンピューター アカウントの暗号化が修復されます。

権限

サーバーに対する CONTROL SERVER 権限が必要です。

使用例

次の例では、サービス マスター キーを再生成します。

ALTER SERVICE MASTER KEY REGENERATE;
GO

関連項目

参照

RESTORE SERVICE MASTER KEY (Transact-SQL)

BACKUP SERVICE MASTER KEY (Transact-SQL)

概念

暗号化階層