Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Kipetcoff
Member

Откуда:
Сообщений: 144
Коллеги, нужна помощь в очень простой и очень сложной задаче.
Он уже много где рассматривался, но я пройдя все круги ада вернулся к тому, с чего все начиналось.
Есть скрипт xp_cmdshell 'dtexec /sq \pack /ser server' , он запускает пакет интеграции, который собирает аналитический куб.
Выполнение этого скрипта любым пользователем вызывает ошибку The LoadFromSQLServer method has encountered OLE DB error code 0x80040E4D (Login failed for user учетка SQL агента и инстанса SQL.
Спрашивается, какого хрена?
xp_cmdshell активирован. Пользователь агента имеет доступ к пакетам. Я прям под ним захожу, запускаю вручную пакет и все работает.
Давал ему сисадмина и вообще все права в SQL
Креденшиал ##xp_cmdshell_proxy_account## создал для учетки агента, правда создал не скриптом, а через интерфейс, не помню почему, права на xp_cmdshell ему дал

Потом вылезла еще одна ошибка "dtexec logonuserw failed with error code 1385".
Для которой сделали настройки
open the Local Security Settings on the host machine.

Navigate to Security Settings -> Local Policies -> User Rights Assignment.
Now open "Log on as a batch job" and add the user you assigned to the xp_cmdshell proxy account
После чего круг замкнулся. Снова "xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed".
Теперь я не понимаю, что еще нужно сделать?
16 дек 16, 16:58    [20013245]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
o-o
Guest
1. кто овнер джоба, мембер сисадминской роли или нет?
2. тип шага джоба какой, T-SQL?
16 дек 16, 17:09    [20013309]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Kipetcoff
Member

Откуда:
Сообщений: 144
o-o,
Джоб нет. Запуск сприпта xp_cmdshell 'dtexec /sq \pack /ser server' происходит из процедуры из веб-приложения. Это должно работать просто из окна запроса.
Я не уверен, что агент тут вообще при делах. Просто учетки его и инстанса одинаковые (условно dom\sql) и в основном почему-то в описаниях говорят именно об агенте.

Роли я dom\sql в базе данные я самые разные пробовал ставить. Все пробовал ставить.
16 дек 16, 17:54    [20013557]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
o-o
Guest
ну так раз пишете про агент, я думаю сразу на джоб
---
конечно, это не агент, это учетка сервера.
ваше dtexec /sq \pack /ser server запускается в винде от имени win account сервера,
если процедуру запускает мембер sysadmin.
и запускается от имени того, чьи credentials лежат в ##xp_cmdshell_proxy_account##,
если процедуру запускает НЕ сисадмин
16 дек 16, 18:14    [20013627]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
o-o
Guest
ааааа, кажется я знаю, что это.
ваше proxy создано криво.
и вот когда вы, сисадмин, выполняете свое добро,
передаются kреденшелы сервера, правильные, ибо сервер работает, его пароль правильный.
а вот когда выполняет левый пользователь,
используется proxy.
и там забит не тот пароль.
и вроде выходит, что выполняется под тем же пользователем,
но это не реальный токен учетки передался, а ваша левость.
сходите в еррорлог сервера и найдите эту ошибку Login failed for user учетка SQL.
в соседней строке напишут причину.
наверняка не тот пароль.
если угадано, то пересоздайте прокси
16 дек 16, 18:21    [20013652]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Kipetcoff
Member

Откуда:
Сообщений: 144
o-o,
да, надо попробовать пересоздать. Все еще условжняется тем, что это клиентский сервере и все происходит по скайп митингу. Меня выкидывают, чтобы я не видел пароль и он его вносит. Что туда внесли мне никак не проконтролировать.
Меня пока больше смущает, что мы создали этот крэд не скриптом типа
EXEC sp_xp_cmdshell_proxy_account 'HOCBASE\admin', 'account_password';
А в интерфейсе. Не помню почему. Что-то не получалось в скрипте. Наверное так нельзя создавать.
16 дек 16, 19:21    [20013852]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
o-o
Guest
Все же попросите их посмотреть причину login failed.
В еррорлоге все написано.
16 дек 16, 19:29    [20013881]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Kipetcoff
Member

Откуда:
Сообщений: 144
o-o,

Пересоздание не помогло.
в логах SQL нашел ошибку Login failed for user . Reason: Could not find a login matching the name provided. [CLIENT: <local machine>]
Логин в SQL виндовый есть, в базу он заходит. Не понятно, что за хрень.
19 дек 16, 14:45    [20022234]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Kipetcoff,
если комп не в домене, то надо создать локального пользователя с таким именем.
19 дек 16, 14:52    [20022316]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Kipetcoff
Member

Откуда:
Сообщений: 144
Владислав Колосов,

Комп в домене, даже дали этому пользователя, которого не находит роль Администратора компьютера.
19 дек 16, 15:14    [20022533]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Kipetcoff
Member

Откуда:
Сообщений: 144
Владислав Колосов,

Я вот думаю, может в сервисной учетке, под которой запускается служба sql пароль не тот. Такое может быть? Если учетка прописана в службе, она работает и для нее сменился пароль. Просто у клиента по политика безопасноти я знаю, что пароли меняются периодически.
19 дек 16, 15:19    [20022574]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
o-o
Guest
Kipetcoff
Reason: Could not find a login matching the name provided.

какой еще не тот пароль, когда пишет, что не найден такой логин?
может, набрано латиницей то, что вообще-то кириллица, или наоборот.
вы вот как сверяли, что логин из еррорлога тот самый, который есть на сервере?
скопируйте как есть из еррорлога имя логина,
запросом опросите sys.server_principals с фильтром по этому скопированному имени.
если конечно это явный логин, а не член како-то группы(админов, например)
19 дек 16, 15:40    [20022730]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Kipetcoff
Member

Откуда:
Сообщений: 144
o-o,

Ищется. Логин в разных регистрах, но находится. Видоус логин
19 дек 16, 15:50    [20022794]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Kipetcoff,

может параметры сортировки сервера CASE SENSITIVE? CS
Что указано, какая сортировка?
19 дек 16, 16:31    [20023128]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Kipetcoff
Member

Откуда:
Сообщений: 144
Владислав Колосов,
CI_AS для сервера настройки
19 дек 16, 16:53    [20023313]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Kipetcoff,

тогда должно работать. Или Вы на другом сервере смотрите.
19 дек 16, 17:13    [20023460]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Kipetcoff
Member

Откуда:
Сообщений: 144
Владислав Колосов,
Я еще посмотрел, что в логах сообщение почему-то от другого инстанса. Запросы делаею в INST01, а сообщение почему-то от основного инстанса

К сообщению приложен файл. Размер - 110Kb
19 дек 16, 17:17    [20023487]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
o-o
Guest
и при чем тут application log?
в еррорлоге сервера что?
19 дек 16, 17:28    [20023572]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
o-o
Guest
хотя все равно это тот самый 18456,
и причина все та же, логина такого на том сервере нет.
а у вас есть, т.к. смотрите вы на другом сервере
19 дек 16, 17:35    [20023631]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Kipetcoff
Member

Откуда:
Сообщений: 144
o-o,
В эррорлоге SQL тоже самое. Login failed for user . Reason: Could not find a login matching the name provided. [CLIENT: <local machine>]. Больше оттуда ничего не взять.
19 дек 16, 17:56    [20023765]     Ответить | Цитировать Сообщить модератору
 Re: xp_cmdshell The LoadFromSQLServer method has encountered OLE DB error Login failed  [new]
Kipetcoff
Member

Откуда:
Сообщений: 144
Тот же самоый пакет из джоба агента под тем же пользователем прекрасно работает, только что еще раз проверил. Это все этот идиотски xp_cmdshell косячит. Что в нем такого, от чего его так выворачивает?
19 дек 16, 18:00    [20023780]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить