Creación de un proxy de Agente SQL Server

Se aplica a:SQL Server

En este tema se describe cómo crear un proxy de Agente SQL Server en SQL Server mediante SQL Server Management Studio o Transact-SQL.

Una cuenta de proxy de Agente SQL Server define un contexto de seguridad en el que es posible ejecutar un paso de trabajo. Cada proxy se corresponde con unas credenciales de seguridad. Para establecer los permisos para un paso de trabajo concreto, cree un proxy que disponga de los permisos necesarios para un subsistema del Agente SQL Server y, luego, asigne ese proxy al paso de trabajo.

En Azure SQL Managed Instance, actualmente son compatibles la mayoría de las características del Agente SQL Server. Consulte Diferencias de T-SQL entre SQL Server y Azure SQL Managed Instance o Limitaciones de los trabajos del Agente SQL en SQL Managed Instance para obtener más información.

Antes de empezar

Limitaciones y restricciones

  • Debe crear una credencial antes de crear un proxy si todavía no hay uno disponible.

  • Las cuentas de proxy del AgenteSQL Server utilizan credenciales para almacenar información acerca de las cuentas de usuario de Windows. El usuario especificado en las credenciales debe tener el permiso "Tener acceso a este equipo desde la red" (SeNetworkLogonRight) en el equipo en el que se ejecuta SQL Server.

  • SQL Server comprueba el acceso al subsistema de un proxy y da acceso al proxy cada vez que se ejecuta el paso de trabajo. Si el proxy ya no tiene acceso al subsistema, el paso de trabajo da error. De lo contrario, el Agente SQL Server suplanta al usuario especificado en el proxy y ejecuta el paso de trabajo. Para obtener una lista de subsistemas de proxy, consulte sp_grant_proxy_to_subsystem.

  • La creación de un proxy no cambia los permisos del usuario especificado en las credenciales del proxy. Por ejemplo, puede crear un proxy para un usuario que no tiene permisos para conectarse a una instancia de SQL Server. En este caso, los pasos de trabajo que usan el proxy no pueden conectarse a SQL Server.

  • Si el inicio de sesión del usuario tiene acceso al proxy o si el usuario pertenece a un rol con acceso al proxy, puede usarlo en un paso de trabajo.

Seguridad

Permisos

  • Solo los miembros del rol fijo de servidor sysadmin disponen del permiso necesario para crear, modificar o eliminar cuentas de proxy. Los usuarios que no son miembros del rol fijo de servidor sysadmin deben agregarse a uno de los siguientes roles fijos de base de datos del Agente SQL Server en la base de datos msdb para usar servidores proxy: SQLAgentUserRole, SQLAgentReaderRole o SQLAgentOperatorRole.

  • Requiere el permiso ALTER ANY CREDENTIAL si crea una credencial además del proxy.

Usar SQL Server Management Studio (SSMS)

Para crear un proxy del Agente SQL Server

  1. En el Explorador de objetos, seleccione el signo más para expandir el servidor en el que quiere crear un proxy del Agente SQL Server.

  2. Seleccione el signo más para expandir Agente SQL Server.

  3. Haga clic con el botón derecho en la carpeta Servidores proxy y seleccione Nuevo proxy.

  4. En del cuadro de diálogo Nueva cuenta de proxy , en la página General , especifique el nombre de la cuenta de proxy en el cuadro Nombre del proxy .

  5. En el cuadro Nombre de credencial , escriba el nombre de la credencial de seguridad que la cuenta de proxy utilizará.

  6. En el cuadro de Descripción , escriba una descripción de la cuenta de proxy

  7. En Activar para los subsistemas siguientes, seleccione el subsistema o los subsistemas apropiados para este proxy.

  8. En la página Entidades de seguridad , agregue o quite inicios de sesión o roles para conceder o quitar el acceso a la cuenta de proxy.

  9. Cuando termine, seleccione Aceptar.

Uso de Transact-SQL

Para crear un proxy del Agente SQL Server

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. El siguiente script crea una credencial denominada CatalogApplicationCredential, crea el proxy Catalog application proxy, le asigna la credencial CatalogApplicationCredential y concede al proxy acceso al subsistema de scripting de ActiveX. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar.

    -- creates credential CatalogApplicationCredential  
    USE msdb ;  
    GO  
    CREATE CREDENTIAL CatalogApplicationCredential WITH IDENTITY = 'REDMOND/TestUser',   
        SECRET = 'G3$1o)lkJ8HNd!';  
    GO  
    -- creates proxy "Catalog application proxy" and assigns
    -- the credential 'CatalogApplicationCredential' to it.  
    EXEC dbo.sp_add_proxy  
        @proxy_name = 'Catalog application proxy',  
        @enabled = 1,  
        @description = 'Maintenance tasks on catalog application.',  
        @credential_name = 'CatalogApplicationCredential' ;  
    GO  
    -- grants the proxy "Catalog application proxy" access to 
    -- the ActiveX Scripting subsystem.  
    EXEC dbo.sp_grant_proxy_to_subsystem  
        @proxy_name = N'Catalog application proxy',  
        @subsystem_id = 2 ;  
    GO  
    

Pasos siguientes