ApplicationRole Class

The ApplicationRole object represents a security role that is used to set access privileges from an application regardless of the user's permissions.

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

Syntax

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

Remarks

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

To set any ApplicationRole object properties and run the Alter method, users must have ALTER permission on the database.

To create a ApplicationRole object, users must have ALTER ANY APPLICATION role permission on the parent database.

To drop an ApplicationRole object, users must be the owner of the application role or have ALTER ANY APPLICATION role permission on the parent database.

To grant, deny, and revoke permission on the ApplicationRole object, users must have CONTROL permission on the application role.

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.