共用方式為


MasterKey 類別

The MasterKey object represents a SQL Server database master key.

繼承階層

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() () () () Initializes a new instance of the MasterKey class.
公用方法 MasterKey(Database) Initializes a new instance of the MasterKey class on the specified database.

上層

屬性

  名稱 說明
公用屬性 CreateDate Gets the date and time when the master key was created.
公用屬性 DateLastModified Gets the date and time when the master key was last modified.
受保護的屬性 ExecuteForScalar 取得或設定 Boolean 屬性值,指定物件是否設定為執行純量選項。 (繼承自 SqlSmoObject。)
公用屬性 IsEncryptedByServer Gets the Boolean property value that specifies whether the database master key is encrypted by using the service master key or by using a password.
公用屬性 IsOpen Gets the Boolean property value that specifies whether the database master key is open.
受保護的屬性 IsTouched 取得 Boolean 屬性值,指定物件屬性是否已更新但尚未保存在伺服器上。 (繼承自 SqlSmoObject。)
受保護的屬性 ObjectInSpace 取得 Boolean 屬性值,指定物件是否存在於隔離中,或是直接或間接連接至 SQL Server 執行個體。 (繼承自 SqlSmoObject。)
公用屬性 Parent Gets the Database object that is the parent of the MasterKey object.
公用屬性 Properties 取得代表物件屬性的 Property 物件集合。 (繼承自 SqlSmoObject。)
受保護的屬性 ScalarResult 取得受參考物件的純量結果。 (繼承自 SqlSmoObject。)
公用屬性 State Gets the state of the referenced object. (繼承自 SmoObjectBase。)
公用屬性 Urn 取得可唯一識別物件的統一資源名稱 (URN) 位址值。 (繼承自 SqlSmoObject。)
公用屬性 UserData Gets or sets user-defined data associated with the referenced object. (繼承自 SmoObjectBase。)

上層

方法

  名稱 說明
受保護的方法 AddDatabaseContext(StringCollection) 將資料庫內容加入至以 queries 參數來識別的查詢集合。 (繼承自 SqlSmoObject。)
受保護的方法 AddDatabaseContext(StringCollection, ScriptingOptions) 將資料庫內容加入至以 queries 參數來識別的查詢集合,並使用指定的指令碼選項。 (繼承自 SqlSmoObject。)
公用方法 AddPasswordEncryption Adds password encryption to the master key.
公用方法 AddServiceKeyEncryption Adds service key encryption to the master key.
受保護的方法 AlterImpl 啟動物件更改事件。 (繼承自 SqlSmoObject。)
受保護的方法 AlterImplFinish 物件更改事件完成時呼叫的方法。 (繼承自 SqlSmoObject。)
受保護的方法 AlterImplInit 初始化物件更改事件時呼叫的方法。 (繼承自 SqlSmoObject。)
受保護的方法 AlterImplWorker 呼叫 Alter 方法。 (繼承自 SqlSmoObject。)
受保護的方法 BindDefaultImpl 繫結參數所識別的預設項目。 (繼承自 SqlSmoObject。)
受保護的方法 BindRuleImpl 將規則結構描述繫結至參數所識別的規則和資料行。 (繼承自 SqlSmoObject。)
受保護的方法 CheckCollation 檢查 collationName 參數所識別之定序方法的指令碼選項順序。 (繼承自 SqlSmoObject。)
受保護的方法 CheckObjectState() () () () 驗證受參考物件的狀態。 (繼承自 SqlSmoObject。)
受保護的方法 CheckObjectState(Boolean) 驗證受參考物件的狀態,並以選項指定如果還未建立該物件則擲回例外狀況。 (繼承自 SqlSmoObject。)
受保護的方法 CheckObjectStateImpl 檢查 SqlSmoObject 的狀態。 (繼承自 SqlSmoObject。)
受保護的方法 CheckVersion100 檢查 SQL Server 的版本是否為 SQL Server 2008。 (繼承自 SqlSmoObject。)
受保護的方法 CheckVersion80 檢查 SQL Server 2000 上物件的有效性。 (繼承自 SqlSmoObject。)
受保護的方法 CheckVersion80SP3 檢查 SQL Server 2000 SP3 上物件的有效性。 (繼承自 SqlSmoObject。)
受保護的方法 CheckVersion90 檢查 SQL Server 2005 上物件的有效性。 (繼承自 SqlSmoObject。)
受保護的方法 CheckVersionBelow90 檢查 SQL Server 的版本是否在 SQL Server 2005 之前。 (繼承自 SqlSmoObject。)
受保護的方法 CleanObject 將物件設定為未修改狀態。 (繼承自 SqlSmoObject。)
公用方法 Close Closes the master key.
公用方法 Create(String) Creates a master key that has the specified password.
公用方法 Create(String, String, String) Creates a master key from the specified file and that has the specified encryption and decryption passwords.
受保護的方法 CreateImpl 使用指令碼選項建立物件。 (繼承自 SqlSmoObject。)
受保護的方法 CreateImplFinish 建立事件完成時呼叫的方法。 (繼承自 SqlSmoObject。)
受保護的方法 CreateImplInit 初始化建立事件時呼叫的方法。 (繼承自 SqlSmoObject。)
公用方法 Discover 探索 Object 類型的清單。 (繼承自 SqlSmoObject。)
公用方法 Drop Removes the master key from the database.
受保護的方法 DropImpl 卸除 SqlSmoObject。 (繼承自 SqlSmoObject。)
受保護的方法 DropImplWorker 呼叫 Drop 方法。 (繼承自 SqlSmoObject。)
公用方法 DropPasswordEncryption Removes the password encryption from the master key by using the associated password.
公用方法 DropServiceKeyEncryption Drops service key encryption from the master key.
公用方法 EnumKeyEncryptions Enumerates a list of the current set of key encryptions for the database master key.
受保護的方法 EnumScriptImpl 列舉 so 參數所指定的指令碼。 (繼承自 SqlSmoObject。)
受保護的方法 EnumScriptImplWorker 呼叫方法,用以列舉 so 參數所指定的指令碼。 (繼承自 SqlSmoObject。)
受保護的方法 EnumScriptImplWorkerSOChanged 傳回 IEnumerable 字串,描述物件的指令碼選項。 (繼承自 SqlSmoObject。)
公用方法 Equals (繼承自 Object。)
受保護的方法 ExecuteNonQuery (繼承自 SqlSmoObject。)
公用方法 Export Saves the database master key to the specified system path location by using the specified password.
受保護的方法 Finalize (繼承自 Object。)
受保護的方法 FormatSqlVariant 將物件格式化為 SqlVariant 類型。 (繼承自 SqlSmoObject。)
受保護的方法 GenerateDataSpaceFileStreamScript 產生指令碼來建立資料檔案。 (繼承自 SqlSmoObject。)
受保護的方法 GenerateDataSpaceScript 產生指令碼來配置資料檔中的空間。 (繼承自 SqlSmoObject。)
受保護的方法 GetBindDefaultScript 取得指令碼,用以繫結由 defSchema 和 defName 參數所指定的預設值。 (繼承自 SqlSmoObject。)
受保護的方法 GetBindRuleScript 取得指令碼,用以指定繫結規則。 (繼承自 SqlSmoObject。)
受保護的方法 GetBoolParameter(StringBuilder, ScriptingOptions, String, String, Int32%) 指派 SqlSmoObject 的布林參數。 (繼承自 SqlSmoObject。)
受保護的方法 GetBoolParameter(StringBuilder, ScriptingOptions, String, String, Int32%, Boolean) 指派 SqlSmoObject 的布林屬性。 (繼承自 SqlSmoObject。)
受保護的方法 GetDateTimeParameter 指派 SqlSmoObject 的日期時間屬性。 (繼承自 SqlSmoObject。)
受保護的方法 GetDateTimeParameterAsInt 如果 SqlSmoObject 的日期時間屬性不是 null,則將該日期時間屬性指派為整數值。 (繼承自 SqlSmoObject。)
受保護的方法 GetDBName 取得與物件相關聯的資料庫名稱。 (繼承自 SqlSmoObject。)
受保護的方法 GetEnumParameter 指派 SqlSmoObject 的列舉屬性。 (繼承自 SqlSmoObject。)
受保護的方法 GetFragOptionString 取得以字串值表示的 FragmentationOption 物件。 (繼承自 SqlSmoObject。)
受保護的方法 GetGuidParameter 指派 SqlSmoObjectGuid 屬性。 (繼承自 SqlSmoObject。)
公用方法 GetHashCode (繼承自 Object。)
受保護的方法 GetParameter(StringBuilder, ScriptingOptions, String, String, Int32%) 指派 SqlSmoObject 的參數。 (繼承自 SqlSmoObject。)
受保護的方法 GetParameter(StringBuilder, ScriptingOptions, String, String, Int32%, Boolean) 指派 SqlSmoObject 的參數。 (繼承自 SqlSmoObject。)
受保護的方法 GetPropValue 取得 SqlSmoObject 物件的屬性值。 (繼承自 SqlSmoObject。)
受保護的方法 GetPropValueOptional 取得 SqlSmoObject 物件的屬性值。 (繼承自 SqlSmoObject。)
受保護的方法 GetPropValueOptionalAllowNull 取得 SqlSmoObject 物件的屬性值。 (繼承自 SqlSmoObject。)
受保護的方法 GetRealValue 取得 SqlSmoObject 物件的屬性值。 (繼承自 SqlSmoObject。)
受保護的方法 GetScriptingOptionsForCreate 取得 SqlSmoObject 物件的 ScriptingOptions。 (繼承自 SqlSmoObject。)
受保護的方法 GetServerName 取得物件相關聯之 SQL Server 執行個體的名稱。 (繼承自 SqlSmoObject。)
受保護的方法 GetServerObject 取得 SqlSmoObject 物件的伺服器。 (繼承自 SqlSmoObject。)
受保護的方法 GetSqlServerVersionName 取得物件相關聯之 SQL Server 執行個體的版本名稱。 (繼承自 SqlSmoObject。)
受保護的方法 GetStringParameter(StringBuilder, ScriptingOptions, String, String, Int32%) 指派 SqlSmoObject 物件的字串參數。 (繼承自 SqlSmoObject。)
受保護的方法 GetStringParameter(StringBuilder, ScriptingOptions, String, String, Int32%, Boolean) 指派 SqlSmoObject 物件的字串參數。 (繼承自 SqlSmoObject。)
受保護的方法 GetTimeSpanParameterAsInt 指派 SqlSmoObject 物件的時間範圍參數。 (繼承自 SqlSmoObject。)
公用方法 GetType (繼承自 Object。)
受保護的方法 GetUrnRecursive(StringBuilder) 指派 SqlSmoObject 物件的 Urn 物件。 (繼承自 SqlSmoObject。)
受保護的方法 GetUrnRecursive(StringBuilder, UrnIdOption) 指派 SqlSmoObject 物件的 Urn 物件。 (繼承自 SqlSmoObject。)
受保護的方法 ImplInitialize 初始化 SqlSmoObject 物件的欄位。 (繼承自 SqlSmoObject。)
公用方法 Import(String, String, String) Loads the database master key from the file that is located at the specified system path by using the specified passwords to decrypt and encrypt the master key.
公用方法 Import(String, String, String, Boolean) Loads the database master key from the file that is located at the specified system path by using the specified passwords to decrypt and encrypt the master key, and with the option to force regeneration.
公用方法 Initialize() () () () 初始化物件,並強制載入屬性。 (繼承自 SqlSmoObject。)
公用方法 Initialize(Boolean) 初始化物件,並強制載入屬性。 (繼承自 SqlSmoObject。)
受保護的方法 IsObjectDirty 驗證物件屬性是否已經過修改,而變更尚未保存在 SQL Server 的執行個體上。 (繼承自 SqlSmoObject。)
受保護的方法 IsObjectInitialized 驗證物件是否已初始化。 (繼承自 SqlSmoObject。)
受保護的方法 IsObjectInSpace 驗證物件是否已隔離,或是連接至 SQL Server 的執行個體。 (繼承自 SqlSmoObject。)
受保護的方法 IsVersion80SP3 判斷 SQL Server 的版本是否為 SQL Server 2000 SP3。 (繼承自 SqlSmoObject。)
受保護的方法 IsVersion90AndAbove 判斷 SQL Server 的版本是否為 SQL Server 2005 或更新版本。 (繼承自 SqlSmoObject。)
受保護的方法 MarkDropped 設定卸除 SqlSmoState。 (繼承自 SqlSmoObject。)
受保護的方法 MarkForDropImpl 設定卸除 SqlSmoState。 (繼承自 SqlSmoObject。)
受保護的方法 MemberwiseClone (繼承自 Object。)
公用方法 Open Opens the database master key by using the specified password.
受保護的方法 PostAlter SqlSmoObject 更改後啟動的方法。 (繼承自 SqlSmoObject。)
受保護的方法 PostCreate SqlSmoObject 建立後啟動的方法。 (繼承自 SqlSmoObject。)
受保護的方法 PostDrop SqlSmoObject 卸除後啟動的方法。 (繼承自 SqlSmoObject。)
公用方法 Refresh 接下來要存取物件時,重新整理該物件並擷取屬性。 (繼承自 SqlSmoObject。)
公用方法 Regenerate(String) Regenerates the database master key by using the specified new password.
公用方法 Regenerate(String, Boolean) Regenerates the database master key by using the specified new password, and with the option to force the regeneration, thus removing all items that cannot be successfully decrypted.
受保護的方法 ScriptAlter 根據參數來更改 SqlSmoObject。 (繼承自 SqlSmoObject。)
受保護的方法 ScriptCreate 根據參數來更改 SqlSmoObject。 (繼承自 SqlSmoObject。)
受保護的方法 ScriptDdl 擲回 InvalidSmoOperationException。 (繼承自 SqlSmoObject。)
受保護的方法 ScriptDrop 擲回 InvalidSmoOperationException。 (繼承自 SqlSmoObject。)
受保護的方法 ScriptImpl() () () () 取得 SqlSmoObject 指令碼的集合。 (繼承自 SqlSmoObject。)
受保護的方法 ScriptImpl(ScriptingOptions) 取得 SqlSmoObject 指令碼的集合。 (繼承自 SqlSmoObject。)
受保護的方法 ScriptImplWorker 取得 SqlSmoObject 指令碼的集合。 (繼承自 SqlSmoObject。)
受保護的方法 SetParentImpl SqlSmoObject 的父系設定為 newParent 參數。 (繼承自 SqlSmoObject。)
公用方法 ToString 傳回代表受參考物件的 String。 (繼承自 SqlSmoObject。)
受保護的方法 TouchImpl 未實作。 (繼承自 SqlSmoObject。)
受保護的方法 UnbindDefaultImpl SqlSmoObject 的預設資料行解除繫結。 (繼承自 SqlSmoObject。)
受保護的方法 UnbindRuleImpl SqlSmoObject 的規則解除繫結。 (繼承自 SqlSmoObject。)
公用方法 Validate Validates the state of an object. (繼承自 SmoObjectBase。)

上層

事件

  名稱 說明
公用事件 PropertyChanged 代表屬性變更時所發生的事件。 (繼承自 SqlSmoObject。)
公用事件 PropertyMetadataChanged 代表屬性中繼資料變更時所發生的事件。 (繼承自 SqlSmoObject。)

上層

欄位

  名稱 說明
受保護的欄位 m_ExtendedProperties 代表屬性,此屬性定義為擴充 SqlSmoObject 所提供的屬性。 (繼承自 SqlSmoObject。)
受保護的欄位 singletonParent 代表單一父代。 (繼承自 SqlSmoObject。)

上層

明確 繼承 實作

  名稱 說明
明確介面實作私用方法 IAlienObject. . :: . .Discover 探索任何相依性。不要直接在程式碼中參照此成員。其支援 SQL Server 基礎結構。 (繼承自 SqlSmoObject。)
明確介面實作私用方法 IAlienObject. . :: . .GetDomainRoot 傳回網域的根目錄。 (繼承自 SqlSmoObject。)
明確介面實作私用方法 IAlienObject. . :: . .GetParent 取得此物件的父系。不要直接在程式碼中參照此成員。其支援 SQL Server 基礎結構。 (繼承自 SqlSmoObject。)
明確介面實作私用方法 IAlienObject. . :: . .GetPropertyType 取得指定的屬性類型。 (繼承自 SqlSmoObject。)
明確介面實作私用方法 IAlienObject. . :: . .GetPropertyValue 取得指定的屬性值。 (繼承自 SqlSmoObject。)
明確介面實作私用方法 IAlienObject. . :: . .GetUrn 取得物件的統一資源名稱。不要直接在程式碼中參照此成員。其支援 SQL Server 基礎結構。 (繼承自 SqlSmoObject。)
明確介面實作私用方法 IAlienObject. . :: . .Resolve 取得執行個體,其中包含物件統一資源名稱之物件的相關資訊。 (繼承自 SqlSmoObject。)
明確介面實作私用方法 IAlienObject. . :: . .SetObjectState 將物件狀態設定為指定的 SfcObjectState 值。 (繼承自 SqlSmoObject。)
明確介面實作私用方法 IAlienObject. . :: . .SetPropertyValue 設定屬性值。 (繼承自 SqlSmoObject。)
明確介面實作私用方法 ISfcPropertyProvider. . :: . .GetPropertySet 取得此物件屬性集的介面參考。不要直接在程式碼中參照此成員。其支援 SQL Server 基礎結構。 (繼承自 SqlSmoObject。)
明確介面實作私用屬性 ISfcSupportsDesignMode. . :: . .IsDesignMode Gets a Boolean value that indicates whether the object supports design mode. 僅供參考之用。不支援。我們無法保證未來的相容性。

上層

備註

A database master key is used to symmetrically encrypt keys and certificates that are stored in the database. A database master key can be encrypted by using the service master key or by using a user-specified password. When a database master key is created, a password must be supplied to encrypt and decrypt it.

When a database is attached to an instance of SQL Server, the database administrator must either supply the master key password or make an unencrypted copy of the master key that is available for encryption with the service master key.

The service master key is the top layer in the encryption hierarchy that is used to encrypt lower layers in the encryption hierarchy. The service master key is generated automatically by Windows. It can be opened only by the Windows service account under which it was created, or by a user who knows both the service account name and its password.

To get MasterKey object properties, users can be a member of the public fixed server role.

To set MasterKey object properties, users must have CONTROL permission on the database or be a member of the db_owner fixed database role.

To create or drop a master key, users must have CONTROL permission on the database or be a member of the db_owner fixed database role.

To open or regenerate a master key, users must have CONTROL permission on the database or be a member of the db_owner fixed database role.

To add or drop service key encryption, users must have CONTROL permission on the database or be a member of the db_owner fixed database role.

To drop a master key, users can be a member of the public fixed server role.

執行緒安全性

這個型別的任何公用 static (在 Visual Basic 中為 Shared) 成員都是執行緒安全的。並不是所有的執行個體成員都保證可以用於所有的執行緒。