Gets the service master key associated with the instance of SQL Server.
Assembly: Microsoft.SqlServer.Smo (in Microsoft.SqlServer.Smo.dll)
'Declaration <SfcObjectAttribute(SfcObjectRelationship.Object, SfcObjectCardinality.One)> _ Public ReadOnly Property ServiceMasterKey As ServiceMasterKey Get 'Usage Dim instance As Server Dim value As ServiceMasterKey value = instance.ServiceMasterKey
Property ValueType: Microsoft.SqlServer.Management.Smo.ServiceMasterKey
A ServiceMasterKey object that specifies the service master key associated with the instance of SQL Server.
The property points to the ServiceMasterKey class. This represents the service master key, which is the top 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.
'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()
$srv = new-object Microsoft.SqlServer.Management.Smo.Server("(local)") $smskey = $srv.ServiceMasterKey $smskey.Regenerate()