El servicio Agente SQL Server no se inicia después de actualizar SQL Server 2008 Express o SQL Server 2008 Express con Advanced Services a SQL Server 2008 Developer, SQL Server 2008 Enterprise o SQL Server 2008 Standard

Se aplica a: SQL Server 2008 DeveloperSQL Server 2008 EnterpriseSQL Server 2008 Express

Síntomas


Considere el escenario siguiente:

  • Instala Microsoft SQL Server 2008 Express o Microsoft SQL Server 2008 Express con Advanced Services.
  • Actualiza a Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise o Microsoft SQL Server 2008 Standard con el siguiente comando de la línea de comandos:
    setup.exe /q /action=editionupgrade /instancename=instance name /pid=Id. del producto de la edición adecuada
    O bien actualiza a SQL Server 2008 Developer, SQL Server 2008 Enterprise o SQL Server 2008 Standard con la configuración de interfaz gráfica de usuario (GUI).
  • Inicia el Administrador de control de servicios.

    Nota: para ello, haga clic en Inicio, Ejecutar y, a continuación, escriba services.msc.
  • Busca el servicio SQL Server Agent y, a continuación, intenta iniciarlo.
En esta situación, el servicio SQL Server Agent no se inicia correctamente. Además, se registra el siguiente mensaje de error en el registro de eventos:
No se pudo iniciar SQLServerAgent (motivo: Error al crear una nueva sesión)

Causa


Este problema se produce debido a que el servicio del Agente SQL Server se crea pero no se habilita en SQL Server 2008 Express y SQL Server 2008 Express con Advanced Services. Esta condición es así por diseño.

Solución


Para resolver este problema, utilice uno de los procedimientos siguientes según el sistema operativo que esté ejecutando:

Windows Server 2003 o Windows XP

Utilice uno de los métodos siguientes.

Método 1: Habilitar el servicio del Agente SQL Server con el Administrador de configuración de SQL Server

Para ello, siga estos pasos:

  1. Haga clic sucesivamente en Inicio, Programas y SQL Server 2008.
  2. Haga clic en Herramientas de configuración y, a continuación, en Administrador de configuración de SQL Server.
  3. Expanda Servicios de SQL Server 2008.
  4. Busque el servicio SQL Server Agent. El servicio del Agente SQL Server se denomina "Agente SQL Server" para las instancias predeterminadas y "Agente SQL Server (nombre de la instancia)" para las instancias con nombre.
  5. Haga clic con el botón derecho en Agente SQL Server y, a continuación, haga clic en Propiedades.
  6. En la pestaña Iniciar sesión, active la casilla Esta cuenta. Especifique un nombre de cuenta diferente y una contraseña.
  7. En la sección Estado del servicio, haga clic en Inicio y, a continuación, en Aceptar.

Método 2: Habilitar el servicio del Agente SQL Server mediante el Administrador de control de servicios

Para que habilitemos el servicio del Agente SQL Server en su lugar, vaya a la sección "Solucionarlo en mi lugar". Si prefiere habilitar el servicio del Agente SQL Server usted mismo, vaya a la sección "Solucionarlo por mí mismo".

Solucionarlo en mi lugar



Para habilitar el servicio del Agente SQL Server automáticamente, haga clic en el botón o en el enlace Descargar. Haga clic en Ejecutar en el cuadro de diálogo Descarga de archivos y después siga los pasos del asistente de Fix it.

 



Notas

  • Después de instalar esta solución automática, deberá cambiar manualmente la cuenta de inicio de sesión predeterminada del servicio SQL Server Agent. Además, asegúrese de que la cuenta de servicio que especifique sea miembro del grupo local de SQL Server Agent.
  • Este asistente podría estar sólo en inglés. Sin embargo, la solución automática también funciona para las demás versiones de Windows en otros idiomas.
  • Si no está utilizando el equipo que tiene el problema, puede guardar la solución Fix it en una unidad flash o en un CD para posteriormente ejecutarlas en el equipo donde está el problema.
A continuación, vaya a la sección "¿Esta información le ha ayudado a resolver su problema?".


 

Solucionarlo por mí mismo

Para ello, siga estos pasos:

  1. Haga clic en Inicio y en Ejecutar, escriba services.msc y haga clic en Aceptar.
  2. En el Administrador de control de servicios, busque el servicio del Agente SQL Server adecuado. El servicio del Agente SQL Server se denomina "Agente SQL Server" para las instancias predeterminadas y "Agente SQL Server (nombre de la instancia)" para las instancias con nombre.
  3. Haga clic con el botón secundario en el servicio SQL Server Agent. En la pestaña General, cambie el tipo de inicio de Deshabilitado a cualquier otro valor apropiado.
  4. Haga clic en la pestaña Iniciar sesión y, a continuación, haga clic para seleccionar la casilla Esta cuenta. Especifique la cuenta de servicio y la contraseña y, a continuación, haga clic en Aceptar.

Después de habilitar el servicio mediante el Administrador de control de servicios, debe asegurarse de que la cuenta de servicio que especifique sea miembro del grupo local de SQL Server Agent. Para ello, siga estos pasos:

  1. Haga clic en Inicio y enEjecutar, escribacompmgmt.msc y haga clic en Aceptar.
  2. Expanda Herramientas del sistema, Usuarios y grupos locales y Grupos.
  3. En el panel de navegación, busque el grupo de agente apropiado. El nombre del grupo de agente es "SQLServerAgentUser$nombre del equipo$nombre de instancia".

    Nota: para instancias predeterminadas, nombre de instancia es "MSSQLSERVER".
  4. Haga doble clic en el grupo para ver sus miembros. Agregue la cuenta de servicio como miembro del grupo.

    Si la cuenta de servicio anterior está presente, elimínela.
Tras asegurarse de que la cuenta de servicio sea miembro del grupo local de Agente SQL Server, agregue la cuenta de servicio como administrador del sistema para SQL Server 2008.

Windows Server 2008 o Windows Vista

Para resolver este problema en Windows Server 2008 o en Windows Vista, siga estos pasos.

Paso 1: Habilitar el servicio SQL Server Agent mediante el Administrador de control de servicios

Para que habilitemos el servicio del Agente SQL Server en su lugar, vaya a la sección "Solucionarlo en mi lugar". Si prefiere habilitar el servicio del Agente SQL Server usted mismo, vaya a la sección "Solucionarlo por mí mismo".

Solucionarlo en mi lugar



Para habilitar el servicio del Agente SQL Server automáticamente, haga clic en el botón o en el enlace Descargar. Haga clic en Ejecutar en el cuadro de diálogo Descarga de archivos y después siga los pasos del asistente de Fix it.

 



Notas

  • Es posible que este asistente esté solo en inglés. Sin embargo, la solución automática también funciona para las demás versiones de Windows en otros idiomas.
  • Si no está utilizando el equipo que tiene el problema, puede guardar la solución Fix it en una unidad flash o en un CD para posteriormente ejecutarlas en el equipo donde está el problema.
A continuación, vaya a la sección "¿Esta información le ha ayudado a resolver su problema?".


 

Solucionarlo por mí mismo

Para ello, siga estos pasos:

  1. Haga clic en Inicio y en Ejecutar, escriba services.msc y haga clic en Aceptar.
  2. En el Administrador de control de servicios, busque el servicio del Agente SQL Server adecuado. El servicio del Agente SQL Server se denomina "Agente SQL Server" para las instancias predeterminadas y "Agente SQL Server (nombre de la instancia)" para las instancias con nombre.
  3. Haga clic con el botón secundario en el servicio del Agente SQL Server y, a continuación, haga clic en Propiedades.
  4. En la pestaña General, cambie el tipo de inicio de Deshabilitado a cualquier otro valor apropiado.

Paso 2: Agregue la entidad de seguridad del servicio del Agente SQL Server como administrador del sistema para SQL Server 2008.

Nota: el servicio del Agente SQL Server se denomina "NT SERVICE\MSSQLSERVER" para las instancias predeterminadas y "NT SERVICE\SQLAGENT$nombre de la instancia" para las instancias con nombre.

Para obtener más información acerca de cómo agregar la entidad de seguridad del servicio del Agente SQL Server, visite los siguientes sitios web de Microsoft Developer Network (MSDN):

¿Esta información le ha ayudado a solucionar su problema?