Login Class

The Login object represents a SQL Server login account that has been granted access to the instance of SQL Server through Windows Authentication or SQL Server Authentication.

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Management.Smo.SmoObjectBase
    Microsoft.SqlServer.Management.Smo.SqlSmoObject
      Microsoft.SqlServer.Management.Smo.NamedSmoObject
        Microsoft.SqlServer.Management.Smo.ScriptNameObjectBase
          Microsoft.SqlServer.Management.Smo.Login

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

Syntax

'Declaration
<PhysicalFacetAttribute> _
<EvaluationModeAttribute(AutomatedPolicyEvaluationMode.CheckOnSchedule)> _
Public NotInheritable Class Login _
    Inherits ScriptNameObjectBase _
    Implements ISfcSupportsDesignMode, IObjectPermission, ICreatable, IAlterable,  _
    IDroppable, IRenamable, IScriptable, ILoginOptions, IDmfFacet
'Usage
Dim instance As Login
[PhysicalFacetAttribute]
[EvaluationModeAttribute(AutomatedPolicyEvaluationMode.CheckOnSchedule)]
public sealed class Login : ScriptNameObjectBase, 
    ISfcSupportsDesignMode, IObjectPermission, ICreatable, IAlterable, IDroppable, 
    IRenamable, IScriptable, ILoginOptions, IDmfFacet
[PhysicalFacetAttribute]
[EvaluationModeAttribute(AutomatedPolicyEvaluationMode::CheckOnSchedule)]
public ref class Login sealed : public ScriptNameObjectBase, 
    ISfcSupportsDesignMode, IObjectPermission, ICreatable, IAlterable, IDroppable, 
    IRenamable, IScriptable, ILoginOptions, IDmfFacet
[<SealedAttribute>]
[<PhysicalFacetAttribute>]
[<EvaluationModeAttribute(AutomatedPolicyEvaluationMode.CheckOnSchedule)>]
type Login =  
    class 
        inherit ScriptNameObjectBase 
        interface ISfcSupportsDesignMode 
        interface IObjectPermission 
        interface ICreatable 
        interface IAlterable 
        interface IDroppable 
        interface IRenamable 
        interface IScriptable 
        interface ILoginOptions 
        interface IDmfFacet 
    end
public final class Login extends ScriptNameObjectBase implements ISfcSupportsDesignMode, IObjectPermission, ICreatable, IAlterable, IDroppable, IRenamable, IScriptable, ILoginOptions, IDmfFacet

The Login type exposes the following members.

Constructors

  Name Description
Public method Login() Initializes a new instance of the Login class.
Public method Login(Server, String) Initializes a new instance of the Login class on the specified instance of SQL Server and with the specified name.

Top

Properties

  Name Description
Public property AsymmetricKey Gets the asymmetric key associated with the login.
Public property Certificate Gets the certificate associated with the login.
Public property CreateDate Gets the date and time when the login account was created.
Public property Credential Gets the credential associated with the login.
Public property DateLastModified Gets the date and time when the login account was last modified.
Public property DefaultDatabase Gets or sets the default database that the login account is assigned to after logging on to the instance of SQL Server.
Public property DenyWindowsLogin Gets or sets the Boolean property value that specifies whether the login account has been granted or denied the ability to log on to the instance of SQL Server.
Public property Events Gets the events associated with the login account.
Public property HasAccess Gets or sets the Boolean property value that specifies whether the SQL Server login account has access to the instance of SQL Server.
Public property ID Gets the ID value that uniquely identifies the login account.
Public property IsDisabled Gets or sets the Boolean property value that specifies whether the SQL Server login account is disabled.
Public property IsLocked Gets the Boolean property value that specifies whether the login account has been locked out of the instance of SQL Server.
Public property IsPasswordExpired Gets the Boolean property value that specifies whether the password for the SQL Server login account has expired.
Public property IsSystemObject Gets or sets the Boolean property value that specifies whether the SQL Server login account is a system object.
Public property Language Gets or sets the language required by the referenced login account for date formats and system messages.
Public property LanguageAlias Gets the alias name used for the language that is required by the SQL Server login account.
Public property LoginType Gets or sets the type of SQL Server login account.
Public property MustChangePassword Gets the Boolean property value that specifies whether the login account password must be changed when the user next logs on to the instance of SQL Server.
Public property Name Gets or sets the name of the login. (Overrides NamedSmoObject.Name.)
Public property Parent Gets the Server object that is the parent of the Login object.
Public property PasswordExpirationEnabled Gets the Boolean property value that specifies whether the password for the login account will automatically expire.
Public property PasswordHashAlgorithm Gets or sets the hash algorithm used for the password.
Public property PasswordPolicyEnforced Gets the Boolean property value that specifies whether password policy is enforced for this login account.
Public property Properties Gets a collection of Property objects that represent the object properties. (Inherited from SqlSmoObject.)
Public property Sid Gets or sets the security identifier (SID) for the login account.
Public property State Gets the state of the referenced object. (Inherited from SmoObjectBase.)
Public property Urn Gets the Uniform Resource Name (URN) address value that uniquely identifies the object. (Inherited from SqlSmoObject.)
Public property UserData Gets or sets user-defined data associated with the referenced object. (Inherited from SmoObjectBase.)
Public property WindowsLoginAccessType Gets the type of Windows logon access.

Top

Methods

  Name Description
Public method AddCredential Adds a login credential.
Public method AddToRole Adds the login account to a SQL Server role.
Public method Alter Updates any Login object property changes on the login account on the instance of SQL Server.
Public method ChangePassword(String) Changes the password for the login account.
Public method ChangePassword(String, String) Changes the password for the login account.
Public method ChangePassword(String, Boolean, Boolean) Changes the password for the login account.
Public method Create() Creates a login account on the instance of SQL Server as defined by the Login object.
Public method Create(SecureString) Creates a login account on the instance of SQL Server as defined by the Login object.
Public method Create(String) Creates a login account on the instance of SQL Server as defined by the Login object.
Public method Create(SecureString, LoginCreateOptions) Creates a login account on the instance of SQL Server as defined by the Login object.
Public method Create(String, LoginCreateOptions) Creates a login account on the instance of SQL Server as defined by the Login object.
Public method Deny(ObjectPermissionSet, String) Denies the specified set of permissions for the specified grantee on the login account.
Public method Deny(ObjectPermissionSet, array<String[]) Denies the specified set of permissions for the specified grantees on the logon.
Public method Deny(ObjectPermissionSet, String, Boolean) Denies the specified set of permissions for the specified grantee and other users that the grantee granted the specified set of permissions on the logon.
Public method Deny(ObjectPermissionSet, array<String[], Boolean) Denies the specified set of permissions for the specified grantees and other users that the grantee granted the specified set of permissions on the logon.
Public method Disable Disables the login account.
Public method Discover Discovers a list of type Object. (Inherited from SqlSmoObject.)
Public method Drop Removes the login account from the instance of SQL Server.
Public method DropCredential Drops a login credential.
Public method Enable Enables the login account.
Public method EnumAgentProxyAccounts Enumerates a list of agent proxy accounts in which the login account is participating.
Public method EnumCredentials Returns a string collection of credentials associated with a login.
Public method EnumDatabaseMappings Enumerates a list of login account mappings to databases and database users.
Public method EnumObjectPermissions() Enumerates a list of object permissions for the login account.
Public method EnumObjectPermissions(String) Enumerates a list of object permissions for a specified grantee on the login account.
Public method EnumObjectPermissions(ObjectPermissionSet) Enumerates a list of object permissions for a specified permission on the login account.
Public method EnumObjectPermissions(String, ObjectPermissionSet) Enumerates a list of object permissions for a specified grantee and a specified permission on the login account.
Public method Equals (Inherited from Object.)
Protected method FormatSqlVariant Formats an object as SqlVariant type. (Inherited from SqlSmoObject.)
Protected method GetContextDB Gets the context database that is associated with this object. (Inherited from SqlSmoObject.)
Public method GetDatabaseUser Gets the name of the user that the login account is mapped to in a specified database.
Protected method GetDBName Gets the database name that is associated with the object. (Inherited from SqlSmoObject.)
Public method GetHashCode (Inherited from Object.)
Protected method GetPropValue Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.)
Protected method GetPropValueOptional Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.)
Protected method GetPropValueOptionalAllowNull Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.)
Protected method GetServerObject Gets the server of the SqlSmoObject object. (Inherited from SqlSmoObject.)
Public method GetType (Inherited from Object.)
Public method Grant(ObjectPermissionSet, String) Grants the specified set of permissions to the specified grantee on the login account.
Public method Grant(ObjectPermissionSet, array<String[]) Grants the specified set of permissions to the specified grantees on the login account.
Public method Grant(ObjectPermissionSet, String, Boolean) Grants access to the specified permission to the grantee and the ability to grant access to other users on the login account.
Public method Grant(ObjectPermissionSet, array<String[], Boolean) Grants access to the specified permission to the grantees and the ability to grant access to other users on the login account.
Public method Grant(ObjectPermissionSet, String, Boolean, String) Grants the specified set of permissions to the grantee and the ability to grant the set of permissions to other users on the login account under an assumed role.
Public method Grant(ObjectPermissionSet, array<String[], Boolean, String) Grants the specified set of permissions to the grantees and the ability to grant the set of permissions to other users on the logon under an assumed role.
Public method Initialize() Initializes the object and forces the properties be loaded. (Inherited from SqlSmoObject.)
Public method Initialize(Boolean) Initializes the object and forces the properties be loaded. (Inherited from SqlSmoObject.)
Public method IsMember Returns a Boolean value that specifies whether the login account is a member of a specified role.
Protected method IsObjectInitialized Verifies whether the object has been initialized. (Inherited from SqlSmoObject.)
Protected method IsObjectInSpace Verifies whether the object is isolated or connected to the instance of SQL Server. (Inherited from SqlSmoObject.)
Public method ListMembers Returns a list of the roles of which the login account is a member.
Public method Refresh Refreshes the login credentials. (Overrides ScriptNameObjectBase.Refresh().)
Public method Rename Renames the login account.
Public method Revoke(ObjectPermissionSet, String) Revokes a previously granted set of permissions from a grantee on the login account.
Public method Revoke(ObjectPermissionSet, array<String[]) Revokes a previously granted set of permissions from a list of grantees on the login account.
Public method Revoke(ObjectPermissionSet, String, Boolean, Boolean) Revokes previously granted permissions from a grantee on the login account and any other users to whom the grantee has granted the specified set of permissions. The grantee is also given the ability to revoke the specified set of permissions from other users under an assumed role.
Public method Revoke(ObjectPermissionSet, array<String[], Boolean, Boolean) Revokes previously granted permissions from grantees on the login account and any other users to whom the grantees have granted the specified set of permissions. The grantees are also given the ability to revoke the specified set of permissions from other users under an assumed role.
Public method Revoke(ObjectPermissionSet, String, Boolean, Boolean, String) Revokes previously granted permissions from a grantee on the login account and any other users to whom the grantee has granted the specified set of permissions. The grantee is also given the ability to revoke the specified set of permissions from other users under an assumed role.
Public method Revoke(ObjectPermissionSet, array<String[], Boolean, Boolean, String) Revokes previously granted permissions from grantees on the login account and any other users to whom the grantees have granted the specified set of permissions. The grantees are also given the ability to revoke the specified set of permissions from other users under an assumed role.
Public method Script() Generates a Transact-SQL script that can be used to re-create the login account.
Public method Script(ScriptingOptions) Generates a Transact-SQL script that can be used to re-create the login account as specified by the script options.
Protected method SetParentImpl Sets the parent of the SqlSmoObject to the newParent parameter. (Inherited from SqlSmoObject.)
Public method ToString Returns a String that represents the referenced object. (Inherited from SqlSmoObject.)
Public method Validate Validates the state of an object. (Inherited from SmoObjectBase.)

Top

Events

  Name Description
Public event PropertyChanged Represents the event that occurs when a property is changed. (Inherited from SqlSmoObject.)
Public event PropertyMetadataChanged Represents the event that occurs when property metadata changes. (Inherited from SqlSmoObject.)

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method IAlienObject.Discover Discovers any dependencies. Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.GetDomainRoot Returns the root of the domain. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.GetParent Gets the parent of this object. Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.GetPropertyType Gets the type of the specified property. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.GetPropertyValue Gets the value of the specified property. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.GetUrn Gets the Unified Resource Name (URN) of the object. Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.Resolve Gets the instance that contains the information about the object from the Unified Resource Name (URN) of the object. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.SetObjectState Sets the object state to the specified SfcObjectState value. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method IAlienObject.SetPropertyValue Sets the property value. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate method ISfcPropertyProvider.GetPropertySet Gets the interface reference to the set of properties of this object. (Inherited from SqlSmoObject.)
Explicit interface implemetationPrivate property ISfcSupportsDesignMode.IsDesignMode Gets a Boolean value that indicates whether the object supports design mode. Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

Top

Remarks

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

To set Login object properties, users must have ALTER ANY LOGIN permissions on the server or be a member of the sysadmin fixed server role.

To create or drop a login, users must have ALTER ANY LOGIN permissions on the server or be a member of the sysadmin fixed server role.

To grant, deny, or revoke permission on the login to other users, users must have CONTROL permissions on the logon or be a member of the sysadmin or securityadmin fixed server roles.

To set the password on a login without providing an old password, users must be a member of the sysadmin fixed server role.

Thread Safety

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

Examples

Managing Users, Roles, and Logins

Thread Safety

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

See Also

Reference

Microsoft.SqlServer.Management.Smo Namespace

Other Resources

Principals (Database Engine)

CREATE LOGIN (Transact-SQL)