SSRS - невозможно определить, есть ли у владельца задания доступ к серверу [SQLSTATE 42000] (ошибка 15404)) - PullRequest
4 голосов
/ 15 декабря 2009

Службы отчетов SQL Server, в SSRS кажется, что расписания никогда не запускаются, однако при взгляде на агент SQL обнаруживается проблема с правами доступа, связанная с невозможностью разрешить учетную запись пользователя.

Кажется, что агент SQL неполагаться на кеширование или что-то еще, что волшебно работает в Windows.

текст ссылки Исправление указано здесь ... edit -

Выше приведено исправление, которое я использовал для решения этой проблемыКто-нибудь нашел какие-либо другие обходные пути или решения этой проблемы?

Кажется, что по умолчанию генерируемые расписания SSRS запускаются как эта фантомная учетная запись пользователя.Как изменить это значение по умолчанию?SSRS создает задания как пользователь, от имени которого запускается служба?

Спасибо Remus

Ответы [ 4 ]

7 голосов
/ 30 июля 2013

Я столкнулся с той же проблемой. Вот как я это исправил.

Описание проблемы При настройке подписки на отчет SSRS для запуска в определенное время, я бы подождал, пока пройдет время, а затем обнаружил, что отметка времени «Последний запуск» не изменилась. Кажется, моя подписка не запущена.

Соответствующая информация по устранению неисправностей

  1. Подписки на отчеты SSRS выполняются как задания SQL, которые веб-интерфейс сервера отчетов создает для вас за кулисами.

  2. При просмотре задания, созданного для моей подписки на отчет, я обнаружил, что оно всегда завершалось ошибкой:

    Работа не удалась. Невозможно определить, имеет ли владелец (домен \ имя_пользователя) задания 0814588B-D590-4C45-A304-6086D5C1F559 доступ к серверу (причина: не удалось получить информацию о группе Windows NT / пользователе 'domain \ userName', код ошибки 0x5. [SQLSTATE 42000] (ошибка 15404)).

  3. В Sql Server Configuration Manager я мог видеть, что служба «Службы отчетов SQL Server» настроена для работы с использованием учетной записи пользователя AD.

  4. В Sql Server Configuration Manager я мог видеть, что служба «SQL Server» была настроена для работы с использованием локальной учетной записи Windows .

  5. Как указал @Remus Resanu, ошибка SQL 15404 относится к исключению, когда контекст EXECUTE AS не может быть олицетворен.

Решение Бинго! № 4 и № 5 являются ключом к проблеме. Служба SQL Server (локальная учетная запись пользователя Windows) пыталась аутентифицировать пользователя «домен \ имя пользователя» в AD, но не смогла, поскольку не имеет права / разрешения на доступ к ресурсам AD.

Я изменил службу SQL Server на учетную запись пользователя AD, перезапустил службы SQL Server и агента SQL Server, повторно запустил задание SQL и, блин, успех!

2 голосов
/ 15 декабря 2009

15404 является исключением, когда контекст EXECUTE AS не может быть олицетворен. Причин для этой ошибки достаточно. Наиболее распространенные причины:

  • когда экземпляр SQL Server не имеет доступа к серверу AD, так как работает как локальный пользователь или как «локальная служба» (это может иметь код ошибки 0x5, ACCESS_DENIED)
  • когда SQL Server просят выдать себя за неизвестного пользователя, например, пользователя из домена, о котором SQL Server не имеет представления (это будет иметь код ошибки 0x54b, ERROR_NO_SUCH_DOMAIN)

Правильное решение всегда зависит от кода ошибки, который является ошибкой ОС при попытке получить олицетворенный токен идентификации пользователя: сначала выполняется поиск кода ошибки в таблице Коды системных ошибок (или запускает windbg, делает петлевые неинвазивные отладочные соединения ядра и выходит! error, что я предпочитаю, потому что это быстрее ...).

Итак, Джон ... у вас действительно есть вопрос, или вы просто разместили случайную часть частичной информации?

0 голосов
/ 08 марта 2019

Просто следуйте этим шагам в изображениях

Just follow this steps in images

0 голосов
/ 04 декабря 2018

Я сделал 2 вещи, и теперь это работает.

1) Перейдите в «Конфигурация SQL Server», измените «Агент SQL Server» - «Вход в систему как» для соответствия «SQL Server» выше.

enter image description here

2) Во-вторых, откройте «Microsoft SQL Management Studio», в «Агенте SQL Server» разверните «Задания», и вы сможете увидеть созданную вами работу. Щелкните по нему правой кнопкой мыши и перейдите в «Свойства». enter image description here

3) Измените владельца, чтобы он также совпадал с «Агентом SQL Server» выше. enter image description here

После этого я могу выполнить План технического обслуживания без каких-либо проблем.

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