Я создаю репликацию 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)).
Это задание, созданное сценарием, определяющим репликацию.
Как мне отладить это?
Вопрос
Я создаю репликации SQL-сервера с помощью скрипта. Когда я пытаюсь выполнить
Не удалось выполнить задание. Можете определить, если владелец (стар\moorer7) из L3BPT2M-Атлас-14 задание имеет доступ к серверу (причина: не удалось получить сведения о Windows NT и группы/пользователя 'звезда\moorer7', код ошибки 0x5. [Sqlstate 42000] (ошибка 15404))
.
Это задание создано с помощью скрипта, который определяет репликации.
Как я могу отлаживать это?
Решение / Ответ
5-го августа 2009 в 5:30
2009-08-05T17:30:10+00:00
#9339890
Активный каталог является отказ доступа к SQL агента. Агент должен быть запущен под учетной записью, которая признается звезда контроллера домена.
16-го февраля 2012 в 9:43
2012-02-16T21:43:17+00:00
#9339891
Мы столкнулись с подобными ошибками в тестовой среде на виртуальной машине. Если имя компьютера меняется из-за клонирования виртуальной машины из шаблона, вы можете получить эту ошибку.
Если имя компьютера поменял от старого к новому.
Работа использует эту хранимую процедуру:
Которая использует этот:
Что дает эта ошибка SQL 15404
Думаю, это правильно, учитывая обстоятельства. Мы добавили скрипт для клонирования ВМ/процесс развертывания, который повторно создает имя Входа SQL.
19-го сентября 2016 в 3:00
2016-09-19T15:00:59+00:00
#9339896
Для меня задания были под домен\администратор и неудачу с сообщением об ошибке ошибка"не удалось выполнить задание. Можете определить, если владелец (домен\администратор) работа агента история очистке: распределение имеет доступ к серверу (причина: не удалось получить сведения о Windows NT на группу/пользователя 'домен\администратор', код ошибки 0x5. [Sqlstate 42000] (ошибка 15404))
.Чтобы исправить это, я сменила владельца каждого не работа СА
. Работала после этого. Задания были связаны с репликацией очистки, но я’м не уверен, если они были добавлены вручную или добавлены как часть репликации настройка-и я вовсе’т, что с ним связано, поэтому я не уверен.
3-го января 2013 в 6:44
2013-01-03T18:44:46+00:00
#9339892
В моем случае я получаю эту ошибку, пытаясь использовать функцию функция is_rolemember () на SQL сервер 2008 R2. Эта функция разве’т действителен до SQL сервер 2012.
Вместо этой функции я в конечном итоге с помощью
Значительно более многословен, но он получает работу.
4-го августа 2014 в 11:26
2014-08-04T11:26:20+00:00
#9339893
Просто решил эту проблему. В моем случае это был контроллер домена не доступен, потому что оба DNS-сервера был Гугл ДНС.
Я просто добавить в Список для этой проблемы:
- проверить контроллер домена доступен
4-го марта 2015 в 12:51
2015-03-04T00:51:01+00:00
#9339894
У меня был тот же вопрос, который, оказалось, быть вызвана доменное имя, которое работает служба SQL заблокирована в Ad. Локаут был вызван неродственного использование учетной записи службы для другой цели с неправильным паролем.
Ошибки, полученные от агента SQL журналы, не говоря уже о обслуживание счета’s имя, просто имя пользователя (работа рук), что я не мог’т быть проверена (так как он использует учетную запись службы для проверки с AD).
25-го апреля 2015 в 5:42
2015-04-25T17:42:06+00:00
#9339895
Мне пришлось подключиться к VPN для публикации скрипт для успешного развертывания в БД.
12-го июля 2019 в 12:57
2019-07-12T12:57:55+00:00
#9339897
В нашем случае, учетной записи службы Windows, что SQL Server и агента SQL бегали под были заблокированы в активный каталог.
Я создаю репликацию SQL Server с помощью script. Когда я пытаюсь выполнить
Это задание, созданное script, которое определяет репликацию.
Как мне отладить это?
Ответ 1
Active Directory отказывается от доступа к вашему агенту SQL. Агент должен работать под учетной записью, которая распознается контроллером домена STAR.
Ответ 2
Ответ 3
Мы столкнулись с подобными ошибками в тестовой среде на виртуальной машине. Если имя машины изменяется из-за клонирования виртуальной машины из шаблона, вы можете получить эту ошибку.
Если имя компьютера изменилось с OLD на NEW.
В задании используется эта хранимая процедура:
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.
Ответ 4
В моем случае я получал эту ошибку, пытаясь использовать функцию 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
Значительно более подробный, но он выполняет свою работу.
Ответ 5
Просто решил эту проблему. В моем случае контроллер домена не был доступен, поскольку оба сервера DNS были google dns.
Я просто добавляю в контрольный список для этой проблемы:
- проверить доступ к контроллеру домена
Ответ 6
У меня была та же проблема, которая, как оказалось, была вызвана регистрацией домена, которая заставляет SQL-службу блокироваться в AD. Блокировка была вызвана несвязанным использованием учетной записи службы для другой цели с неправильным паролем.
Ошибки, полученные из журналов агента SQL, не упоминают имя учетной записи службы, просто имя пользователя (владельца задания), которое не может быть аутентифицировано (поскольку оно использует учетную запись службы для проверки с помощью AD).
Ответ 7
Мне пришлось подключиться к VPN, чтобы скрипт публикации успешно развернулся в БД.
Ответ 8
В нашем случае учетная запись службы Windows, под которой работали SQL Server и агент SQL, была заблокирована в Active Directory.
Вопрос
У меня есть сервер Windows 2012 Server под управлением SharePoint 2010 с локально установленным SQL Server Express. К сожалению, мои журналы в настоящее время заполнены сообщением “Произошло исключение при регистрации сообщения в целевой очереди. Error: 15404, State: 19. Не удалось получить информацию о группе/пользователе Windows NT ‘DOMAIN\user’, код ошибки 0x5.” Это может быть 20 таких сообщений каждую секунду!
(…и ‘DOMAIN\user’ оказывается моей личной учетной записью).
Может быть, запущено задание, которому не хватает прав? “Qoute from https://serverfault.com/questions/277551/mssqlserver-exception-occurred-while-enqueueing-a-message-in-the-target-queue-e “Попробуйте изменить владельца заданий на учетную запись sa, в свойствах задания.” Если я’правильно понимаю, экспресс-версия SQL-сервера не может запускать задания? Или есть кто-то/что-то, кто хочет получить доступ к нашей AD? Почему эта учетная запись хочет получить информацию о моей учетной записи 20 раз каждую секунду?
Я нахожу много блогов и подсказок по этой задаче, но я просто не понимаю решений. В одном из них говорится “Чтобы исправить это, войдите под именем одной из учетных записей SA и предоставьте доступ SA для учетной записи, которой он нужен.” Но какой учетной записи нужен доступ sa?
17-го ноября 2014 в 9:46
2014-11-17T21:46:06+00:00
#25585773
Надеюсь, это поможет кому-то еще:
В моем случае sa не был владельцем БД, им был я. Когда я попытался выполнить конфигурацию CLR, которая требовала привилегий sa, я получил эту ошибку.
Решение:
Я использовал помощь команды db на работе и этот пост, чтобы найти ответ. Надеюсь, это поможет.
21-го августа 2017 в 10:09
2017-08-21T10:09:12+00:00
#25585777
Я знаю, что это долго, но недавно я столкнулся с такой же проблемой, и мой шаг решить эту ниже:
-
Щелкните правой кнопкой мыши на базе данных и выберите Свойства
-
Нажмите на файлы под “и выберите страницу и”
-
Под рук чуть ниже имя базы данных на правой панели, выберите SA как владелец.
Это позволит решить проблему для вас.
Я надеюсь, что это помогает
6-го мая 2015 в 11:38
2015-05-06T11:38:59+00:00
#25585775
В моем случае владельцем базы данных была доменная учетная запись Domain\Me.
Сообщение об ошибке было следующим
Ошибка: 15404, Состояние: 19. Не удалось получить информацию о Windows NT
группа/пользователь ‘Domain\MyAccount’
Проблема заключалась в том, что база данных не знала, что делать с доменной учетной записью – поэтому логичным было использовать вместо нее локальную учетную запись.
Я попробовал сменить владельца базы данных, но все равно все работало неправильно.
В конце концов я удалил и создал заново всю базу данных, убедившись, что владелец был SA.
Я также установил для брокера значение Enabled в настройках
Вещь начала волшебным образом работать после этого
11-го января 2016 в 2:26
2016-01-11T14:26:36+00:00
#25585776
У меня возникла эта ошибка после запланированного задания в sql Server Agent, в моем случае, сразу после того, как я изменил имя хоста сервера Windows. Я также запустил sp_dropserver и sp_addserver. Моя база данных принадлежала “sa”, а не пользователю Windows.
Я мог войти в SQL как пользователь Windows NEWHOSTNAME\username (я полагаю, что после смены имени хоста SID не меняется, поэтому все работало автоматически?).
Однако, в SQL, в узле Security/Logins, у меня были логины SQL, определенные как OLDHOSTNAME\username. Я подключился к SQL, используя “sa” вместо Windows Integrated, сбросил старые логины и создал новые с именем NEWHOSTNAME\username.
Ошибка исчезла.
14-го июня 2019 в 12:42
2019-06-14T12:42:50+00:00
#25585780
У меня была та же проблема, где мое доменное имя не признается. Я всего лишь идем в диспетчер конфигурации SQL Server и запустить сервисы как услуги сети, а не локальной службе. Затем агент SQL сервер смог распознать объявление логины для работы.
29-го октября 2019 в 6:37
2019-10-29T18:37:24+00:00
#25585781
В моем случае, это было через VPN-вопрос. Когда я включил VPN для подключения с сети офиса и усилителя; затем попытался снова запустить агент моментальных снимков, он начал успешно.
26-го марта 2018 в 5:05
2018-03-26T17:05:40+00:00
#25585779
чтобы сделать массовое обновление для всех баз данных, выполните этот скрипт и выполнить его вывод:
У меня есть Windows 2012 Server с SharePoint 2010 с локально установленным SQL Server Express. К сожалению, мои журналы в настоящее время заполнены сообщением «Произошло исключение при постановке сообщения в целевую очередь. Ошибка: 15404, состояние: 19. Не удалось получить информацию о группе/пользователе Windows NT «ДОМЕН\пользователь», код ошибки 0x5». Каждую секунду таких сообщений может быть 20!
(… и “ДОМЕН\пользователь” является моей личной учетной записью.)
Выполняется ли задание с отсутствующими правами? “Цитата из https://serverfault .com/questions/277551/mssqlserver-exception-occurred-while-enqueueing-a-message-in-the-target-queue-e “Попробуйте сменить владельца заданий на учетную запись sa на свойства задания». Если я прав, экспресс-версия SQL-сервера не может выполнять задания? Или кто-то/что-то хочет получить доступ к нашей AD? Почему эта учетная запись хочет получать информацию о моей учетной записи 20 раз в секунду?
Я нахожу много блогов и советов по этой задаче, но я просто не понимаю решений. Один говорит: «Чтобы исправить это, войдите в систему как одна из учетных записей SA и предоставьте доступ SA для учетной записи, которая в этом нуждается». Но для какой учетной записи нужен доступ sa?
Измените владельца на sa. Вот шаги, которые я предпринял для решения этой проблемы:
-
Щелкните правой кнопкой мыши базу данных и выберите свойства
-
Нажмите «Файлы» под Select a page.
-
Под Owner, но чуть ниже имени базы данных на правой панели, выберите sa в качестве владельца.
195
ΩmegaMan
23 Июн 2021 в 17:13
В моем случае sa не был владельцем БД, а я был. Когда я попытался выполнить конфигурацию CLR, требующую привилегий sa, я тоже получил ошибку.
Решение:
USE MyDB
GO
ALTER DATABASE MyDB set TRUSTWORTHY ON;
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
Я воспользовался помощью команды db на работе и этот пост найти ответ. Надеюсь, поможет.
ΩmegaMan
23 Июн 2021 в 17:10
В моем случае владельцем базы данных был доменный аккаунт Domain\Me.
Сообщение об ошибке было
Ошибка: 15404, состояние: 19. Не удалось получить информацию о группе/пользователе Windows NT «Domain\MyAccount».
Проблема заключалась в том, что база данных не знала, что делать с учетной записью домена, поэтому логично было использовать вместо нее локальную учетную запись.
Я попытался сменить владельца базы данных, но все равно что-то не работало.
В конце концов я удалил и воссоздал всю базу данных, УБЕДившись, ЧТО ВЛАДЕЛЬЦЕМ БЫЛО SA
Я также установил Broker на Enabled в настройках.
Вещь начала волшебным образом работать после этого
23
Malcolm Swaine
6 Май 2015 в 14:38
У меня была эта ошибка из-за запланированного задания в sql Server Agent, в моем случае, сразу после того, как я изменил имя хоста Windows Server. Я также запустил sp_dropserver и sp_addserver. Моя база данных принадлежала «sa», а не пользователю Windows.
Я мог войти в SQL как пользователь Windows NEWHOSTNAME\username (думаю, после изменения имени хоста SID не меняется, поэтому он работал автоматически?).
Однако в SQL в узле Security/Logins у меня были логины SQL, определенные как OLDHOSTNAME\username. Я подключился к SQL, используя «sa» вместо Windows Integrated, удалил старые логины и создал новые с NEWHOSTNAME\username.
Ошибка исчезла.
4
Thierry_S
11 Янв 2016 в 17:26
Чтобы выполнить массовое обновление для всех баз данных, запустите этот скрипт, а затем выполните его вывод:
SELECT 'ALTER AUTHORIZATION ON DATABASE::' + QUOTENAME(name) + ' TO [sa];'
from sys.databases
where name not in ('master', 'model', 'tempdb')
4
avs099
26 Мар 2018 в 20:05
Нет аутентификации домена
В конечном итоге сбой произошел из-за того, что мне не удалось пройти аутентификацию, когда я не подключился к корпоративной сети через vpn.
Поскольку я подключался к локальной базе данных на своем рабочем ноутбуке, однако пользователь «ДОМЕН \ пользователь» должен был пройти аутентификацию через AD в корпоративной сети.
Ошибка была устранена, как только я снова подключился и обновился; ошибка исчезла.
4
ΩmegaMan
23 Июн 2021 в 17:17
У меня была такая же проблема. В моем случае это было связано с тем, что моя машина была частью домена, но я не был подключен к корпоративному VPN. Проблема была решена после подключения к VPN (чтобы пользователь домена мог быть разрешен SQLAgent).
2
erionpc
1 Мар 2021 в 16:41
У меня была такая же проблема, когда мой логин домена не распознавался. Все, что я сделал, это зашел в диспетчер конфигурации SQL Server и запустил службы как сетевые службы, а не локальную службу. После этого сервер/агент sql смог распознать логины AD для заданий.
1
Hali
14 Июн 2019 в 15:42
В моем случае это была проблема VPN. Когда я включил VPN для подключения к офисной сети, а затем снова попытался запустить агент моментальных снимков, он успешно запустился.
1
Ankush Jain
29 Окт 2019 в 21:37
Я столкнулся с той же проблемой. Исправление для меня заключалось в изменении входа в систему с пользователя NT на глобального пользователя в диспетчере конфигурации сервера Sql => служба сервера Sql => агент сервера Sql => свойства => имя учетной записи.
1
Jitan Gupta
4 Апр 2020 в 12:10
9 ответов
Лучший ответ
Active Directory отказывает в доступе вашему агенту SQL. Агент должен работать под учетной записью, которая распознается контроллером домена STAR.
36
magnattic
24 Мар 2014 в 20:20
Мы столкнулись с аналогичными ошибками в тестовой среде на виртуальной машине. Если имя машины изменится из-за клонирования ВМ из шаблона, вы можете получить эту ошибку.
Если имя компьютера изменилось с СТАРЫЙ на НОВЫЙ.
Задание использует эту хранимую процедуру:
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.
9
Craig Celeste
21 Фев 2012 в 22:45
Для меня задания выполнялись под 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
. Работало безупречно после этого. Задания были связаны с очисткой репликации, но я не уверен, были ли они добавлены вручную или были добавлены как часть настройки репликации – я не участвовал в этом, поэтому я не уверен.
9
Derreck Dean
8 Фев 2017 в 13:33
В моем случае я получал эту ошибку, пытаясь использовать функцию 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
Значительно более подробный, но он выполняет свою работу.
3
Raj More
8 Янв 2013 в 14:34
Просто решил эту проблему. В моем случае это был недоступен контроллер домена, потому что оба DNS-сервера были DNS-серверами Google.
Я просто добавляю в контрольный список для этой проблемы:
- проверьте доступность контроллера домена
2
Rail
4 Авг 2014 в 11:26
У меня была такая же проблема, которая, как оказалось, была вызвана тем, что вход в домен, который запускает службу SQL, заблокирован в AD. Блокировка была вызвана несвязанным использованием учетной записи службы для другой цели с неправильным паролем.
В сообщениях об ошибках, полученных из журналов агента SQL, не упоминается имя учетной записи службы, только имя пользователя (владельца задания), который не может быть аутентифицирован (поскольку он использует учетную запись службы для проверки с помощью AD).
1
mniles
4 Мар 2015 в 00:51
Мне пришлось подключиться к VPN, чтобы сценарий публикации успешно развернулся в БД.
1
Pete
1 Июл 2019 в 17:32
В нашем случае учетная запись службы Windows, под которой работали SQL Server и агент SQL, была заблокирована в Active Directory.
1
Michael Ross
12 Июл 2019 в 12:57
Я только что получил эту ошибку, и оказалось, что мой администратор AD удалил учетную запись службы, используемую КАЖДЫМ экземпляром SQL Server во всей компании. Слава богу, у AD есть своя корзина.
Посмотрите, можете ли вы запустить утилиту Active Directory – пользователи и компьютеры (% SystemRoot% \ system32 \ dsa.msc), и убедитесь, что учетная запись, на которую вы полагаетесь, все еще существует.
0
Ken
26 Май 2020 в 22:03
Невозможно получить информацию о группе Windows NT / пользователь, код ошибки 0x3a
Я пытаюсь развернуть библиотеку SQLCLR к SQL Server 2008 R2. В Visual Studio я настроил информационное соединение, и это работает правильно (я могу выполнение запросов), но когда я пытаюсь развернуться, я получаю сообщение “Ошибка: не Мог получить информацию о группе Windows NT/пользователь, код ошибки 0x3a”.
Это странно, потому что я настроил информационное соединение, чтобы использовать аутентификацию SQL Server на различном имени пользователя.
Я получаю ту же самую ошибку, когда я бегу, СОЗДАЮТ АССАМБЛЕЮ, в то время как вошли в студию управления SQL с различным именем пользователя.
Чтобы добавить к тайне, когда я развертываю набор полномочий использования, БЕЗОПАСНЫЙ, все прекрасно. Однако, мое собрание требует ВНЕШНЕГО ДОСТУПА.
Какова могла быть проблема с развертыванием моего собрания?