Не удалось получить информацию о пользователе группы Windows NT

Я создаю репликацию SQL Server с помощью скрипта. Когда я пытаюсь выполнить

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)).

Это задание создается сценарием, определяющим репликацию.

Как это отладить?


person Raj More    schedule 05.08.2009    source источник
comment
Я изменил владельца в свойствах задания на «sa», после чего проблема была решена.   -  person SeeSharp    schedule 13.08.2016
comment
Хе. Вы спросили об этом 7 лет назад, и это до сих пор помогает таким людям, как я.   -  person PowerUser    schedule 06.12.2016
comment
Может ли кто-нибудь сказать мне, почему эта ошибка все еще возникает, когда владелец задания или плана обслуживания находится в AD, а администратор - в поле SQL? Мне всегда приходится возвращаться к учетной записи sa, чтобы что-нибудь запустить.   -  person Tug Strongly    schedule 21.04.2017


Ответы (9)


Active Directory отказывает в доступе к вашему агенту SQL. Агент должен работать под учетной записью, распознаваемой контроллером домена STAR.

person Remus Rusanu    schedule 05.08.2009
comment
@Remus Rusanu: агент работает под учетной записью локального компьютера MyWorkstation\SqlServerAccount. - person Raj More; 05.08.2009
comment
@Raj: На самом деле, поскольку сам SQL Server подключается к AD, вам нужно изменить учетную запись, под которой работает SQL. Это должна быть учетная запись AD, которая будет аутентифицироваться, например учетная запись домена или учетная запись СЕТЕВОЙ СЛУЖБЫ (при условии, что машина присоединена к домену). SSMS или EM могут иметь возможность изменить учетную запись службы. - person Remus Rusanu; 05.08.2009
comment
+1 за то, что мне не пришлось разговаривать с моим dba (сэкономлено несколько часов) - person DancesWithBamboo; 30.09.2011
comment
Брент Озар рекомендует (конечно, с осторожностью), чтобы задания агента SQL Server принадлежали SA, потому что владельцу на самом деле не важно, как работает задание, до тех пор, пока оно не выйдет из строя из-за того, что владелец был удален или не прошел проверку подлинности. См. здесь: brentozar.com/blitz/jobs-owned-by- учетные записи пользователей . Учетная запись службы — это следующая лучшая вещь, если вы правильно настроили ее и никогда не рискуете быть заблокированной или отключенной. - person NateJ; 15.01.2016
comment
У меня была эта ошибка агента SQL в результате исчерпания эфемерного порта, из-за которого не удалось установить соединения SQL Server. Ошибка агента SQL сопровождалась прерывистыми ошибками NETLOGON и групповой политики, наблюдаемыми в журнале системных событий сервера базы данных. - person jl.; 07.11.2017
comment
Что такое контроллер домена STAR? - person ORcoder; 13.03.2018
comment
Комментарий @jl заставил меня проверить журнал системных событий, где я обнаружил ошибки NETLOGON и обновления DNS. Заставил меня задуматься, указывает ли сетевой адаптер SQL-сервера на контроллер домена для DNS, а это не так. Не уверен, как это изменилось, но обновление SQL-сервера для получения DNS от контроллера домена должно позволить ему снова проверять пользователей домена. См. также ответ Рейла stackoverflow.com/a/25117580/550712. - person Mark Berry; 19.10.2018

Мы столкнулись с аналогичными ошибками в тестовой среде на виртуальной машине. Если имя машины изменится из-за клонирования ВМ из шаблона, вы можете получить эту ошибку.

Если имя компьютера изменилось со СТАРОГО на НОВОЕ.

Задание использует эту хранимую процедуру:

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

Который использует этот:

EXECUTE master.dbo.xp_logininfo 'OLD\Administrator'

Что дает эту ошибку SQL 15404

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

Что, я думаю, правильно, учитывая обстоятельства. Мы добавили сценарий в процесс клонирования/развертывания виртуальной машины, который повторно создает логин SQL.

person Craig Celeste    schedule 16.02.2012

Для меня задания выполнялись под ДОМЕНОМ\Администратор и завершались сбоем с сообщением об ошибке "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)).. Чтобы исправить это, я изменил владельца каждого сбойного задания на sa. После этого все работало безупречно. Задания были связаны с очисткой репликации, но я не уверен, были ли они добавлены вручную или были добавлены как часть настройки репликации — я не участвовал в этом, поэтому я не уверен.

person Derreck Dean    schedule 19.09.2016

В моем случае я получал эту ошибку, пытаясь использовать функцию IS_ROLEMEMBER() в SQL Server 2008 R2. Эта функция недействительна до SQL Server 2012.

Вместо этой функции я использовал

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

Значительно более подробный, но он выполняет свою работу.

person Bacon Bits    schedule 03.01.2013

Только что решил эту проблему. В моем случае это был недоступен контроллер домена, потому что оба dns сервера были google dns.

Я просто добавляю в контрольный список для этой проблемы:

  • проверить доступность контроллера домена
person Rail    schedule 04.08.2014
comment
Я тоже. Пришлось изменить DNS, чтобы он указывал на контроллер домена, чтобы он мог проверять пользователей домена. - person Mark Berry; 19.10.2018

У меня была та же проблема, которая оказалась вызвана тем, что вход в домен, который запускает службу SQL, был заблокирован в AD. Блокировка была вызвана несвязанным использованием служебной учетной записи для другой цели с неправильным паролем.

В ошибках, полученных из журналов агента SQL, не упоминается имя учетной записи службы, а только имя пользователя (владельца задания), который не может быть аутентифицирован (поскольку он использует учетную запись службы для проверки с помощью AD).

person mniles    schedule 04.03.2015

Мне пришлось подключиться к VPN, чтобы сценарий публикации успешно развернулся в БД.

person Pete    schedule 25.04.2015

В нашем случае учетная запись службы Windows, под которой работали SQL Server и SQL Agent, была заблокирована в Active Directory.

person Michael Ross    schedule 12.07.2019

Я только что получил эту ошибку, и оказалось, что мой администратор AD удалил учетную запись службы, используемую КАЖДЫМ экземпляром SQL Server во всей компании. Слава богу, у AD есть собственная корзина.

Проверьте, можете ли вы запустить утилиту Active Directory Users and Computers (%SystemRoot%\system32\dsa.msc) и убедитесь, что учетная запись, на которую вы полагаетесь, все еще существует.

person Ken    schedule 26.05.2020