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

Я создаю репликацию 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)).

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

Как мне отладить это?

Ответы [ 7 ]

36 голосов
/ 05 августа 2009

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

8 голосов
/ 19 сентября 2016

Для меня задания выполнялись в DOMAIN \ Administrator и терпели неудачу с сообщением об ошибке "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. После этого работал безупречно , Задания были связаны с очисткой репликации, но я не уверен, были ли они добавлены вручную или были добавлены как часть настройки репликации - я не был связан с этим, поэтому я не уверен.

7 голосов
/ 17 февраля 2012

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

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

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

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.

3 голосов
/ 03 января 2013

В моем случае я получал эту ошибку, пытаясь использовать функцию 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

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

2 голосов
/ 04 августа 2014

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

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

  • проверка доступности контроллера домена
1 голос
/ 25 апреля 2015

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

1 голос
/ 04 марта 2015

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...