ProxyAccount Class
The ProxyAccount class represents a SQL Server Agent proxy account.
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
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
The ProxyAccount type exposes the following members.
Constructors
Name | Description | |
---|---|---|
ProxyAccount() | Initializes a new instance of the ProxyAccount class. | |
ProxyAccount(JobServer, String) | Initializes a new instance of the ProxyAccount class on the specified SQL Server Agent Service, with the specified name. | |
ProxyAccount(JobServer, String, String) | Initializes a new instance of the ProxyAccount class on the specified SQL Server Agent Service with the specified name and credential. | |
ProxyAccount(JobServer, String, String, Boolean) | Initializes a new instance of the ProxyAccount class on the specified SQL Server Agent Service with the specified name and credential. It also specifies whether the proxy account is enabled. | |
ProxyAccount(JobServer, String, String, Boolean, String) | Initializes a new instance of the ProxyAccount class on the specified SQL Server Agent Service with the specified name and credential. It also specifies whether the proxy account is enabled. |
Top
Properties
Name | Description | |
---|---|---|
CredentialID | Gets the ID value that uniquely identifies the proxy agent credential. | |
CredentialIdentity | Gets the credential identity. | |
CredentialName | Gets or sets the name of the credential. | |
Description | Gets or sets a textual description of the proxy account. | |
ID | Gets the ID value that uniquely identifies the proxy account. | |
IsEnabled | Gets or sets the Boolean property value that specifies whether the proxy account is enabled or not. | |
Name | Gets or sets the name of the object. (Inherited from NamedSmoObject.) | |
Parent | Gets or sets the JobServer object that is the parent of the ProxyAccount object. | |
Properties | Gets a collection of Property objects that represent the object properties. (Inherited from SqlSmoObject.) | |
State | Gets the state of the referenced object. (Inherited from SmoObjectBase.) | |
Urn | Gets the Uniform Resource Name (URN) address value that uniquely identifies the object. (Inherited from SqlSmoObject.) | |
UserData | Gets or sets user-defined data associated with the referenced object. (Inherited from SmoObjectBase.) |
Top
Methods
Name | Description | |
---|---|---|
AddLogin | Adds a Microsoft Windows login account to the proxy account. | |
AddMsdbRole | Adds a Microsoft SQL Server database role to the proxy account. | |
AddServerRole | Adds a Microsoft SQL Server server role to the proxy account. | |
AddSubSystem | Adds a Microsoft SQL Server subsystem to the proxy account. | |
Alter | Updates any ProxyAccount object property changes on an instance of Microsoft SQL Server. | |
Create | Creates a job on the instance of Microsoft SQL Server as defined by the ProxyAccount object. | |
Discover | Discovers a list of type Object. (Inherited from SqlSmoObject.) | |
Drop | Removes an existing proxy account. | |
EnumLogins | Enumerates a list of Microsoft Windows login accounts associated with the referenced proxy account. | |
EnumMsdbRoles | Enumerates a list of Microsoft SQL Server database roles associated with the referenced proxy account. | |
EnumServerRoles | Enumerates a list of Microsoft SQL Server server roles associated with the referenced proxy account. | |
EnumSubSystems | Enumerates a list of Microsoft SQL Server subsystems associated with the referenced proxy account. | |
Equals | (Inherited from Object.) | |
FormatSqlVariant | Formats an object as SqlVariant type. (Inherited from SqlSmoObject.) | |
GetContextDB | Gets the context database that is associated with this object. (Inherited from SqlSmoObject.) | |
GetDBName | Gets the database name that is associated with the object. (Inherited from AgentObjectBase.) | |
GetHashCode | (Inherited from Object.) | |
GetPropValue | Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.) | |
GetPropValueOptional | Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.) | |
GetPropValueOptionalAllowNull | Gets a property value of the SqlSmoObject object. (Inherited from SqlSmoObject.) | |
GetServerObject | Gets the server of the SqlSmoObject object. (Inherited from SqlSmoObject.) | |
GetType | (Inherited from Object.) | |
Initialize() | Initializes the object and forces the properties be loaded. (Inherited from SqlSmoObject.) | |
Initialize(Boolean) | Initializes the object and forces the properties be loaded. (Inherited from SqlSmoObject.) | |
IsObjectInitialized | Verifies whether the object has been initialized. (Inherited from SqlSmoObject.) | |
IsObjectInSpace | Verifies whether the object is isolated or connected to the instance of SQL Server. (Inherited from SqlSmoObject.) | |
Reassign | Reassign the job steps that refer to the current proxy account name to a new proxy account name. | |
Refresh | Refreshes the object and retrieves properties when the object is next accessed. (Inherited from SqlSmoObject.) | |
RemoveLogin | Removes a Microsoft Windows login account from the referenced proxy account. | |
RemoveMsdbRole | Removes a Microsoft SQL Server database role from the referenced proxy account. | |
RemoveServerRole | Removes a Microsoft SQL Server server role from the referenced proxy account. | |
RemoveSubSystem | Removes a Microsoft SQL Server subsystem from the referenced proxy account. | |
Rename | Renames a proxy account. | |
Script() | Generates a Transact-SQL script that can be used to re-create the SQL Server Agent proxy account. | |
Script(ScriptingOptions) | Generates a Transact-SQL script that can be used to re-create the SQL Server Agent proxy account as specified by the scripting options. | |
SetParentImpl | Sets the parent of the SqlSmoObject to the newParent parameter. (Inherited from SqlSmoObject.) | |
ToString | Returns a String that represents the referenced object. (Inherited from SqlSmoObject.) | |
Validate | Validates the state of an object. (Inherited from SmoObjectBase.) |
Top
Events
Name | Description | |
---|---|---|
PropertyChanged | Represents the event that occurs when a property is changed. (Inherited from SqlSmoObject.) | |
PropertyMetadataChanged | Represents the event that occurs when property metadata changes. (Inherited from SqlSmoObject.) |
Top
Explicit Interface Implementations
Name | Description | |
---|---|---|
IAlienObject.Discover | Discovers any dependencies. Do not reference this member directly in your code. It supports the SQL Server infrastructure. (Inherited from SqlSmoObject.) | |
IAlienObject.GetDomainRoot | Returns the root of the domain. (Inherited from SqlSmoObject.) | |
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.) | |
IAlienObject.GetPropertyType | Gets the type of the specified property. (Inherited from SqlSmoObject.) | |
IAlienObject.GetPropertyValue | Gets the value of the specified property. (Inherited from SqlSmoObject.) | |
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.) | |
IAlienObject.Resolve | Gets the instance that contains the information about the object from the Unified Resource Name (URN) of the object. (Inherited from SqlSmoObject.) | |
IAlienObject.SetObjectState | Sets the object state to the specified SfcObjectState value. (Inherited from SqlSmoObject.) | |
IAlienObject.SetPropertyValue | Sets the property value. (Inherited from SqlSmoObject.) | |
ISfcPropertyProvider.GetPropertySet | Gets the interface reference to the set of properties of this object. (Inherited from SqlSmoObject.) |
Top
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.
Examples
Scheduling Automatic Administrative Tasks in SQL Server Agent
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.Agent Namespace
Other Resources
Scheduling Automatic Administrative Tasks in SQL Server Agent