2009-08-05 66 views
31

Estoy creando una replicación de SQL Server utilizando una secuencia de comandos. Cuando intento ejecutarNo se pudo obtener información sobre el usuario del grupo de Windows NT

The job failed. Unable to determine if the owner (STAR\moorer7) of job L3BPT2M-Atlas-14 has server access (reason: Could not obtain information about Windows NT group/user 'STAR\moorer7', error code 0x5. [SQLSTATE 42000] (Error 15404)).

Este es un trabajo creado por un guión que define la replicación.

¿Cómo puedo depurar esto?

+2

Cambié el propietario en las propiedades de trabajo a 'sa' y luego se solucionó el problema. – Alex

+2

Heh. Usted pidió esto hace 7 años y todavía está ayudando a personas como yo hoy. – PowerUser

+0

¿Alguien puede decirme por qué cuando el propietario del plan de trabajo o mantenimiento está en AD y un administrador en el cuadro de SQL sigue ocurriendo este error? Siempre tengo que volver a la cuenta sa para ejecutar cualquier cosa. –

Respuesta

33

Active Directory está rechazando el acceso a su Agente SQL. El agente debe ejecutarse bajo una cuenta reconocida por el controlador de dominio STAR.

+1

@Remus Rusanu: el agente se ejecuta en una cuenta de máquina local como MyWorkstation \ SqlServerAccount –

+8

@Raj: en realidad, dado que es el propio SQL Server el que se conecta al AD, debe cambiar la cuenta con la que se está ejecutando SQL. Tiene que ser una cuenta que AD autenticará, como una cuenta de dominio o la cuenta de SERVICIO DE RED (siempre que la máquina esté unida al dominio). SSMS o EM pueden tener una opción para cambiar la cuenta de servicio. –

+2

+1 para evitar que tenga que hablar con mi dba (varias horas guardadas) – DancesWithBamboo

5

Encontramos errores similares en un entorno de prueba en una máquina virtual. Si el nombre de la máquina cambia debido a la clonación de VM a partir de una plantilla, puede obtener este error.

Si el nombre de la computadora cambió de VIEJO a NUEVO.

Un trabajo utiliza este procedimiento almacenado:

msdb.dbo.sp_sqlagent_has_server_access @login_name = 'OLD\Administrator' 

Qué utiliza éste:

EXECUTE master.dbo.xp_logininfo 'OLD\Administrator' 

que da a este error de SQL 15404

select text from sys.messages where message_id = 15404; 
Could not obtain information about Windows NT group/user '%ls', error code %#lx. 

que supongo que es correcta, bajo las circunstancias. Agregamos un script al proceso de clonación/despliegue de VM que recrea el inicio de sesión de SQL.

3

En mi caso, recibí este error al intentar usar la función IS_ROLEMEMBER() en SQL Server 2008 R2. Esta función no es válida antes de SQL Server 2012.

En lugar de esta función Terminé usando

select 1 
from sys.database_principals u 
inner join sys.database_role_members ur 
    on u.principal_id = ur.member_principal_id 
inner join sys.database_principals r 
    on ur.role_principal_id = r.principal_id 
where r.name = @role_name 
and u.name = @username 

Significativamente más prolija, pero hace el trabajo.

1

Acabo de resolver este problema. En mi caso, era el controlador de dominio no accesible, porque ambos servidores dns eran google dns.

Acabo de añadir a la lista de control para este problema: controlador de dominio

  • cheque es accesible
1

que estaba teniendo el mismo problema, que resultó ser causada por el inicio de sesión de dominio que ejecuta el El servicio SQL está bloqueado en AD. El bloqueo fue causado por un uso no relacionado de la cuenta de servicio para otro propósito con la contraseña incorrecta.

Los errores recibidos de los registros del Agente SQL no mencionaron el nombre de la cuenta de servicio, solo el nombre del usuario (propietario del trabajo) que no pudo ser autenticado (ya que utiliza la cuenta de servicio para verificar con AD).

1

Tuve que conectarme a VPN para que el script de publicación implementara con éxito el DB.

8

Para mí, los trabajos se ejecutan en DOMINIO \ administrador y en su defecto con el mensaje de error "The job failed. Unable to determine if the owner (DOMAIN\administrator) of job Agent history clean up: distribution has server access (reason: Could not obtain information about Windows NT group/user 'DOMAIN\administrator', error code 0x5. [SQLSTATE 42000] (Error 15404)). Para solucionar este problema, me cambió el titular de cada puesto de trabajo en su defecto a sa. Funcionó impecablemente después de eso. Los trabajos estaban relacionados con la limpieza de la replicación, pero no estoy seguro si se agregaron manualmente o si se agregaron como parte de la configuración de la replicación. No participé en ella, por lo que no estoy seguro.

Cuestiones relacionadas