Server.ServiceMasterKey Property

Gets the service master key associated with the instance of SQL Server.

Namespace: Microsoft.SqlServer.Management.Smo
Assembly: Microsoft.SqlServer.Smo (in microsoft.sqlserver.smo.dll)

Syntax

'Declaration
Public ReadOnly Property ServiceMasterKey As ServiceMasterKey
public ServiceMasterKey ServiceMasterKey { get; }
public:
property ServiceMasterKey^ ServiceMasterKey {
    ServiceMasterKey^ get ();
}
/** @property */
public ServiceMasterKey get_ServiceMasterKey ()
public function get ServiceMasterKey () : ServiceMasterKey

Property Value

A ServiceMasterKey object that specifies the service master key associated with the instance of SQL Server.

Remarks

Updated text:

The ServiceMasterKey property points to the ServiceMasterKey class. This represents the service master key, which is the lop layer in the encryption hierarchy. The service master key is used to encrypt all the lower layers of the encryption hierarchy, such as database master keys, certificates, and asymmetric and symmetric keys.

The service master key is automatically generated the first time encryption is required on the instance of SQL Server. The service master key is generated by Windows and secured by the Windows data protection API. It can be decrypted 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. Therefore, if you change the Windows account under which the SQL Server service runs, you must also enable decryption of the service master key by the new account.

This namespace, class, or member is supported only in version 2.0 of the Microsoft .NET Framework.

Example

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the service master key.
Dim smskey As ServiceMasterKey
smskey = srv.ServiceMasterKey
'Regenerate the encryption on the service master key.
smskey.Regenerate()

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

Server Class
Server Members
Microsoft.SqlServer.Management.Smo Namespace

Other Resources

Using Encryption
Managing Servers

Change History

Release

History

New content:
  • Added code sample to the Example section.

  • Added to the description in the Remarks section.