ProxyAccount Class

The ProxyAccount class represents a SQL Server Agent proxy account.

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

Syntax

'Declaration
Public NotInheritable Class ProxyAccount _
    Inherits AgentObjectBase _
    Implements IAlterable, ICreatable, IDroppable, IRenamable,  _
    IScriptable
'Usage
Dim instance As ProxyAccount
public sealed class ProxyAccount : AgentObjectBase, 
    IAlterable, ICreatable, IDroppable, IRenamable, IScriptable
public ref class ProxyAccount sealed : public AgentObjectBase, 
    IAlterable, ICreatable, IDroppable, IRenamable, IScriptable
[<SealedAttribute>]
type ProxyAccount =  
    class
        inherit AgentObjectBase
        interface IAlterable
        interface ICreatable
        interface IDroppable
        interface IRenamable
        interface IScriptable
    end
public final class ProxyAccount extends AgentObjectBase implements IAlterable, ICreatable, IDroppable, IRenamable, IScriptable

Remarks

Proxy accounts allow for the impersonation of logins, server roles, and database roles when executing a job step in any subsystem other than Transact-SQL. In SQL Server Management Objects (SMO), the ProxyAccount object allows programmatic control over proxy accounts. The ProxyAccount object describes the relationship between an alternative (proxy) login account, a subsystem that is used for job step execution, and a list of Microsoft SQL Server logins, server roles, and database roles.

To get ProxyAccount object properties, users must be a member of the SQLAgentOperatorRole on the MSDB database, or be a member of the sysadmin fixed server role.

To set ProxyAccount object properties, users must be a member of the sysadmin fixed server role.

To create or drop a proxy account, users must be a member of the sysadmin fixed server role.

To add or remove subsystems from the proxy account, 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.

Inheritance Hierarchy

System.Object
  Microsoft.SqlServer.Management.Smo.SmoObjectBase
    Microsoft.SqlServer.Management.Smo.SqlSmoObject
      Microsoft.SqlServer.Management.Smo.NamedSmoObject
        Microsoft.SqlServer.Management.Smo.Agent.AgentObjectBase
          Microsoft.SqlServer.Management.Smo.Agent.ProxyAccount

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.