Share via


DatabaseRole Class

The DatabaseRole object represents a SQL Server database security role.

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

Syntax

'Declaration
<SfcElementTypeAttribute("Role")> _
<StateChangeEventAttribute("CREATE_ROLE", "ROLE")> _
<EvaluationModeAttribute(AutomatedPolicyEvaluationMode.None Or AutomatedPolicyEvaluationMode.Enforce Or AutomatedPolicyEvaluationMode.CheckOnChanges Or AutomatedPolicyEvaluationMode.CheckOnSchedule)> _
<PhysicalFacetAttribute> _
<StateChangeEventAttribute("ALTER_ROLE", "ROLE")> _
Public NotInheritable Class DatabaseRole _
    Inherits ScriptNameObjectBase _
    Implements IObjectPermission, ICreatable, IDroppable, IAlterable,  _
    IRenamable, IExtendedProperties, IScriptable
'Usage
Dim instance As DatabaseRole
[SfcElementTypeAttribute("Role")]
[StateChangeEventAttribute("CREATE_ROLE", "ROLE")]
[EvaluationModeAttribute(AutomatedPolicyEvaluationMode.None|AutomatedPolicyEvaluationMode.Enforce|AutomatedPolicyEvaluationMode.CheckOnChanges|AutomatedPolicyEvaluationMode.CheckOnSchedule)]
[PhysicalFacetAttribute]
[StateChangeEventAttribute("ALTER_ROLE", "ROLE")]
public sealed class DatabaseRole : ScriptNameObjectBase, 
    IObjectPermission, ICreatable, IDroppable, IAlterable, IRenamable, 
    IExtendedProperties, IScriptable
[SfcElementTypeAttribute(L"Role")]
[StateChangeEventAttribute(L"CREATE_ROLE", L"ROLE")]
[EvaluationModeAttribute(AutomatedPolicyEvaluationMode::None|AutomatedPolicyEvaluationMode::Enforce|AutomatedPolicyEvaluationMode::CheckOnChanges|AutomatedPolicyEvaluationMode::CheckOnSchedule)]
[PhysicalFacetAttribute]
[StateChangeEventAttribute(L"ALTER_ROLE", L"ROLE")]
public ref class DatabaseRole sealed : public ScriptNameObjectBase, 
    IObjectPermission, ICreatable, IDroppable, IAlterable, IRenamable, 
    IExtendedProperties, IScriptable
[<SealedAttribute>]
[<SfcElementTypeAttribute("Role")>]
[<StateChangeEventAttribute("CREATE_ROLE", "ROLE")>]
[<EvaluationModeAttribute(AutomatedPolicyEvaluationMode.None|AutomatedPolicyEvaluationMode.Enforce|AutomatedPolicyEvaluationMode.CheckOnChanges|AutomatedPolicyEvaluationMode.CheckOnSchedule)>]
[<PhysicalFacetAttribute>]
[<StateChangeEventAttribute("ALTER_ROLE", "ROLE")>]
type DatabaseRole =  
    class
        inherit ScriptNameObjectBase
        interface IObjectPermission
        interface ICreatable
        interface IDroppable
        interface IAlterable
        interface IRenamable
        interface IExtendedProperties
        interface IScriptable
    end
public final class DatabaseRole extends ScriptNameObjectBase implements IObjectPermission, ICreatable, IDroppable, IAlterable, IRenamable, IExtendedProperties, IScriptable

Remarks

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

To set DatabaseRole object properties, users must have ALTER permission on the database role.

To create a database role, users must have CREATE ROLE permission on the parent database.

To drop a database role, users must have ALTER ANY ROLE permission on the parent database.

To add or remove members from the database role, users must be members of the db_owner or db_security admin fixed database role.

To grant, deny, or revoke permission on the database for other users, users must have CONTROL permission on the database 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.

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.