MasterKey クラス

MasterKey オブジェクトは、SQL Server データベース マスター キーを表します。

継承階層

System.Object
  Microsoft.SqlServer.Management.Smo.SmoObjectBase
    Microsoft.SqlServer.Management.Smo.SqlSmoObject
      Microsoft.SqlServer.Management.Smo.MasterKey

名前空間:  Microsoft.SqlServer.Management.Smo
アセンブリ:  Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo.dll)

構文

'宣言
Public NotInheritable Class MasterKey _
    Inherits SqlSmoObject _
    Implements ISfcSupportsDesignMode, IDroppable
'使用
Dim instance As MasterKey
public sealed class MasterKey : SqlSmoObject, 
    ISfcSupportsDesignMode, IDroppable
public ref class MasterKey sealed : public SqlSmoObject, 
    ISfcSupportsDesignMode, IDroppable
[<SealedAttribute>]
type MasterKey =  
    class 
        inherit SqlSmoObject 
        interface ISfcSupportsDesignMode 
        interface IDroppable 
    end
public final class MasterKey extends SqlSmoObject implements ISfcSupportsDesignMode, IDroppable

MasterKey 型は、以下のメンバーを公開しています。

コンストラクター

  名前 説明
パブリック メソッド MasterKey() MasterKey クラスの新しいインスタンスを初期化します。
パブリック メソッド MasterKey(Database) 指定したデータベースの MasterKey クラスの新しいインスタンスを初期化します。

先頭に戻る

プロパティ

  名前 説明
パブリック プロパティ CreateDate マスター キーが作成された日時を取得します。
パブリック プロパティ DateLastModified マスター キーが前回変更された日時を取得します。
パブリック プロパティ IsEncryptedByServer データベース マスター キーがサービス マスター キーを使用して暗号化されるか、パスワードを使用して暗号化されるかを示す Boolean プロパティ値を取得します。
パブリック プロパティ IsOpen データベース マスター キーが開いているかどうかを示す Boolean プロパティ値を取得します。
パブリック プロパティ Parent MasterKey オブジェクトの親である Database オブジェクトを取得します。
パブリック プロパティ Properties オブジェクトのプロパティを表す Property オブジェクトのコレクションを取得します。 (SqlSmoObject から継承されています。)
パブリック プロパティ State 参照先のオブジェクトの状態を取得します。 (SmoObjectBase から継承されています。)
パブリック プロパティ Urn オブジェクトを一意に識別する URN (Uniform Resource Name) アドレスの値を取得します。 (SqlSmoObject から継承されています。)
パブリック プロパティ UserData 参照先のオブジェクトに関連付けられたユーザー定義データを取得します。値の設定も可能です。 (SmoObjectBase から継承されています。)

先頭に戻る

メソッド

  名前 説明
パブリック メソッド AddPasswordEncryption マスター キーにパスワード暗号化を追加します。
パブリック メソッド AddServiceKeyEncryption マスター キーにサービス キー暗号化を追加します。
パブリック メソッド Close マスター キーを閉じます。
パブリック メソッド Create(String) 指定したパスワードが設定されたマスター キーを作成します。
パブリック メソッド Create(String, String, String) 指定した暗号化パスワードおよび暗号化解除パスワードが設定されたマスター キーを、指定したファイルから作成します。
パブリック メソッド Discover Object 型の一覧を検出します。 (SqlSmoObject から継承されています。)
パブリック メソッド Drop データベースからマスター キーを削除します。
パブリック メソッド DropPasswordEncryption 関連付けられたパスワードを使用して、マスター キーからパスワード暗号化を削除します。
パブリック メソッド DropServiceKeyEncryption マスター キーからサービス キー暗号化を削除します。
パブリック メソッド EnumKeyEncryptions データベース マスター キーのキー暗号化の現在のセットの一覧を列挙します。
パブリック メソッド Equals (Object から継承されています。)
パブリック メソッド Export 指定したパスワードを使用して、データベース マスター キーを指定したシステム パスの場所に保存します。
プロテクト メソッド FormatSqlVariant SqlVariant 型としてオブジェクトの書式を設定します。 (SqlSmoObject から継承されています。)
プロテクト メソッド GetContextDB このオブジェクトに関連付けられているコンテキスト データベースを取得します。 (SqlSmoObject から継承されています。)
プロテクト メソッド GetDBName オブジェクトに関連付けられたデータベース名を取得します。 (SqlSmoObject から継承されています。)
パブリック メソッド GetHashCode (Object から継承されています。)
プロテクト メソッド GetPropValue SqlSmoObject オブジェクトのプロパティの値を取得します。 (SqlSmoObject から継承されています。)
プロテクト メソッド GetPropValueOptional SqlSmoObject オブジェクトのプロパティの値を取得します。 (SqlSmoObject から継承されています。)
プロテクト メソッド GetPropValueOptionalAllowNull SqlSmoObject オブジェクトのプロパティの値を取得します。 (SqlSmoObject から継承されています。)
プロテクト メソッド GetServerObject SqlSmoObject オブジェクトのサーバーを取得します。 (SqlSmoObject から継承されています。)
パブリック メソッド GetType (Object から継承されています。)
パブリック メソッド Import(String, String, String) マスター キーの暗号化解除と暗号化のために指定したパスワードを使用して、指定したシステム パスにあるファイルからデータベース マスター キーを読み込みます。
パブリック メソッド Import(String, String, String, Boolean) マスター キーの暗号化解除と暗号化のために指定したパスワードを使用し、再生成を強制実行するオプションを使用して、指定したシステム パスにあるファイルからデータベース マスター キーを読み込みます。
パブリック メソッド Initialize() オブジェクトを初期化し、プロパティを強制的に読み込ませます。 (SqlSmoObject から継承されています。)
パブリック メソッド Initialize(Boolean) オブジェクトを初期化し、プロパティを強制的に読み込ませます。 (SqlSmoObject から継承されています。)
プロテクト メソッド IsObjectInitialized オブジェクトが初期化されたかどうかを確認します。 (SqlSmoObject から継承されています。)
プロテクト メソッド IsObjectInSpace オブジェクトが孤立しているか、または SQL Server のインスタンスに接続されているかを確認します。 (SqlSmoObject から継承されています。)
パブリック メソッド Open 指定したパスワードを使用して、データベース マスター キーを開きます。
パブリック メソッド Refresh オブジェクトが次回アクセスされるときに、オブジェクトを更新し、プロパティを取得します。 (SqlSmoObject から継承されています。)
パブリック メソッド Regenerate(String) 指定した新しいパスワードを使用して、データベース マスター キーを再生成します。
パブリック メソッド Regenerate(String, Boolean) 指定した新しいパスワードを使用し、暗号化解除に失敗したすべてのアイテムを削除して再生成を強制実行するオプションを使用して、データベース マスター キーを再生成します。
プロテクト メソッド SetParentImpl SqlSmoObject の親を newParent パラメーターに設定します。 (SqlSmoObject から継承されています。)
パブリック メソッド ToString 参照するオブジェクトを表す String を返します。 (SqlSmoObject から継承されています。)
パブリック メソッド Validate オブジェクトの状態を検証します。 (SmoObjectBase から継承されています。)

先頭に戻る

イベント

  名前 説明
パブリック イベント PropertyChanged プロパティが変更されるときに発生するイベントを表します。 (SqlSmoObject から継承されています。)
パブリック イベント PropertyMetadataChanged プロパティ メタデータが変更されたときに発生するイベントを表します。 (SqlSmoObject から継承されています。)

先頭に戻る

明示的なインターフェイスの実装

  名前 説明
明示的なインターフェイスの実装プライベート メソッド IAlienObject.Discover 依存関係を検出します。このメンバーをコード内で直接参照しないでください。このメンバーは、SQL Server インフラストラクチャをサポートしています。 (SqlSmoObject から継承されています。)
明示的なインターフェイスの実装プライベート メソッド IAlienObject.GetDomainRoot ドメインのルートを返します。 (SqlSmoObject から継承されています。)
明示的なインターフェイスの実装プライベート メソッド IAlienObject.GetParent このオブジェクトの親を取得します。このメンバーをコード内で直接参照しないでください。このメンバーは、SQL Server インフラストラクチャをサポートしています。 (SqlSmoObject から継承されています。)
明示的なインターフェイスの実装プライベート メソッド IAlienObject.GetPropertyType 指定したプロパティの種類を取得します。 (SqlSmoObject から継承されています。)
明示的なインターフェイスの実装プライベート メソッド IAlienObject.GetPropertyValue 指定されたプロパティの値を取得します。 (SqlSmoObject から継承されています。)
明示的なインターフェイスの実装プライベート メソッド IAlienObject.GetUrn オブジェクトの Unified Resource Name (URN) を取得します。このメンバーをコード内で直接参照しないでください。このメンバーは、SQL Server インフラストラクチャをサポートしています。 (SqlSmoObject から継承されています。)
明示的なインターフェイスの実装プライベート メソッド IAlienObject.Resolve オブジェクトに関する情報を含むインスタンスを、オブジェクトの Unified Resource Name (URN) から取得します。 (SqlSmoObject から継承されています。)
明示的なインターフェイスの実装プライベート メソッド IAlienObject.SetObjectState オブジェクトの状態を、指定した SfcObjectState 値に設定します。 (SqlSmoObject から継承されています。)
明示的なインターフェイスの実装プライベート メソッド IAlienObject.SetPropertyValue プロパティの値を設定します。 (SqlSmoObject から継承されています。)
明示的なインターフェイスの実装プライベート メソッド ISfcPropertyProvider.GetPropertySet このオブジェクトのプロパティ セットへのインターフェイス リファレンスを取得します。このメンバーをコード内で直接参照しないでください。このメンバーは、SQL Server インフラストラクチャをサポートしています。 (SqlSmoObject から継承されています。)
明示的なインターフェイスの実装プライベート プロパティ ISfcSupportsDesignMode.IsDesignMode オブジェクトがデザイン モードをサポートしているかどうかを示すブール値を取得します。単に情報を示すためだけに特定されます。サポートされていません。将来の互換性は保証されません。

先頭に戻る

説明

データベース マスター キーは、データベースに格納されているキーと証明書の対称的な暗号化に使用します。 データベース マスター キーは、サービス マスター キーまたはユーザー指定のパスワードを使用して暗号化できます。 データベース マスター キーの作成時に、そのマスター キーの暗号化および暗号化解除に使用するパスワードを指定する必要があります。

データベースが SQL Server のインスタンスにアタッチされている場合、データベース管理者は、マスター キーのパスワードを指定するか、サービス マスター キーを使用した暗号化に使用できるマスター キーの暗号化されていないコピーを作成する必要があります。

サービス マスター キーは、暗号化階層の下位層の暗号化に使用される暗号化階層の最上位層です。 サービス マスター キーは Windows によって自動的に生成されます。 サービス マスター キーは、そのキーを作成した Windows サービス アカウント、またはサービス アカウント名とパスワードの両方を把握しているユーザーによってのみ開くことができます。

MasterKey オブジェクトのプロパティを取得するには、固定サーバー ロール public のメンバーでもかまいません。

MasterKey オブジェクトのプロパティを設定するには、データベースの CONTROL 権限を持っているか、固定データベース ロール db_owner のメンバーである必要があります。

マスター キーを作成または削除するには、データベースの CONTROL 権限を持っているか、固定データベース ロール db_owner のメンバーである必要があります。

マスター キーを開いたり再生成したりするには、データベースの CONTROL 権限を持っているか、固定データベース ロール db_owner のメンバーである必要があります。

サービス キー暗号化を追加または削除するには、データベースの CONTROL 権限を持っているか、固定データベース ロール db_owner のメンバーである必要があります。

マスター キーを削除するには、固定サーバー ロール public のメンバーでもかまいません。

スレッド セーフ

この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

関連項目

参照

Microsoft.SqlServer.Management.Smo 名前空間

その他の技術情報

暗号化階層

CREATE MASTER KEY (Transact-SQL)