sql >> Base de Datos >  >> RDS >> Sqlserver

Problema de cuenta de trabajo del agente de SQL Server

Por lo general, ejecutaría los trabajos del Agente SQL Server en la misma cuenta en la que su aplicación accede a la base de datos.

Si esa cuenta tiene permisos demasiado limitados (¡lo que podría ser algo bueno!), crearía una sola cuenta para esa aplicación y todos sus trabajos de SQL (si eso es posible) y ejecutaría todos los trabajos de SQL con esa cuenta.

Potencialmente, podría ejecutar cada paso en una cuenta diferente, pero no lo usaría en general (simplemente hace que sea muy difícil saber y comprender qué se ejecuta en qué cuenta). Úselo solo si tiene que ejecutar un paso particularmente sensible que necesita un montón de permisos adicionales y esos permisos solo están disponibles para una cuenta de sistema en particular o algo así.

La cuenta con la que se ejecuta el servicio de Windows del Agente SQL Server no tiene ningún impacto en los pasos de su trabajo.

Así que todo se reduce a solo dos cuentas:

  • se necesita una cuenta para ejecutar el servicio de Windows del Agente SQL Server:esta es una cuenta de Windows en su máquina/servidor que debe tener suficientes permisos para ejecutar el servicio, iniciarlo y detenerlo, ya sea usando LocalSystem, Network Service o cualquier otro Windows cuenta con la que tiene que ejecutar servicios

  • La otra cuenta sería la cuenta para ejecutar los pasos del Agente SQL Server; por lo general, es una cuenta de SQL Server (que podría estar basada en una cuenta de Windows) y necesita suficientes privilegios dentro de SQL Server para hacer su trabajo, p. necesita acceso a los objetos de la base de datos y todo. Me esforzaría por tener solo una cuenta para cada aplicación que ejecuta los trabajos de SQL Server:¡hace la vida mucho más fácil!

Marc

PD:Para configurar el usuario para que ejecute un paso debajo, debe usar la página "Avanzado" en el cuadro de diálogo de propiedades del paso del trabajo y seleccionar el usuario en una ventana emergente: