Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON' / 10 сообщений из 10, страница 1 из 1
24.07.2018, 18:30
    #39678500
JMLabs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
Здравствуйте!
У меня SQL 2008R2, я сделал связанную базу (EXEC sp_addlinkedserver). В SSMS я могу делать запросы к связанной базе, но почему-то то же самое через джоб выдает ошибку:
Код: sql
1.
2.
Message
Executed as user: NT AUTHORITY\SYSTEM. Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. [SQLSTATE 28000] (Error 18456).  The step failed.


Перепробовал все, не понимаю откуда всплывает ANONYMOUS LOGON. В гугле тоже нет внятного ответа.
На другом аналогичном сервере у меня все работает на ура.
Подскажите куда копать...
...
Рейтинг: 0 / 0
24.07.2018, 19:01
    #39678516
Col
Col
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
JMLabs ,
У Вас агент бегает под лоцал систем, ликнованый сервер о нем ничего не знает.
...
Рейтинг: 0 / 0
24.07.2018, 19:07
    #39678522
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
JMLabs,

во первых для LinkedServer есть настройки свойств безопасности под каким логином авторизириваться на другом сервере при разных сценариях (Not be made, Be made without using a security context, Be made.. и т.д.)

во вторых для шага в твоём таске тоже есть настройки под каким пользователем исполняется процесс.

выбор решения между первым и вторым (но список далеко не полный) вариантами - зависит от внутренних стандартов и приоритетов проекта для которого это делаешь.
...
Рейтинг: 0 / 0
25.07.2018, 00:34
    #39678636
JMLabs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
Спасибо за советы, но как мне решить проблему?

Действительно SQL Server Agent бегает под LocalSystem, нужно запустить от другого имени?

Для линкованного сервера я создал логин командой:
Код: sql
1.
exec master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'7.3.11.15,1433',@useself=N'False',@locallogin='sa',@rmtuser='sa',@rmtpassword='123123123'


вероятно этого не достаточно

Где настраивается под каким пользователем выполняется шаг, я тоже не нашел...
...
Рейтинг: 0 / 0
25.07.2018, 01:51
    #39678651
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
JMLabs,

сам Linked_Server можно скриптом / процедурами настроить:
sp_addlinkedserver
sp_addlinkedsrvlogin
или в ручную:
SSMS -> Object Explorer -> Server Objects -> Linked Servers -> My_X_Server -> Properties -> Security
и там выбрать / настроить что нужно для твоей учётки под которой агент работает

Шаг агента тоже или через SSMS->SQL_Server_Agent->Jobs->My_X_Job->Steps(T-SQL)->Edit->Advanced->Run as user
или скриптом
exec msdb.dbo.sp_add_jobstep ... @database_user_name=N'my_x_domain\my_x_user'

но в зависимости от приоритетов безопасности может агента перанастраивать и не нужно (если вдруг ограничений/требований к безопасности особых нет) - хотя за такое админам (или кто там у вас за это отвечает) по рукам как минимум настучать
...
Рейтинг: 0 / 0
25.07.2018, 03:39
    #39678660
Col
Col
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
JMLabs ,
Тот редкий случай когда проще сделать чем объяснить как.
В общем читайте, лучше чем там я сформулировать не смогу, там всего один ответ:
https://stackoverflow.com/questions/14993639/failed-scheduling-a-task-involving-linked-servers-with-sql-server-agent
...
Рейтинг: 0 / 0
25.07.2018, 09:50
    #39678734
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
JMLabsДля линкованного сервера я создал логин командой:
Код: sql
1.
exec master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'7.3.11.15,1433',@useself=N'False',@locallogin='sa',@rmtuser='sa',@rmtpassword='123123123'

Почитайте внимательно документацию о параметре @locallogin.
...
Рейтинг: 0 / 0
25.07.2018, 16:48
    #39679122
JMLabs
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
ColВ общем читайте, лучше чем там я сформулировать не смогу, там всего один ответ:
https://stackoverflow.com/questions/14993639/failed-scheduling-a-task-involving-linked-servers-with-sql-server-agent
invmПочитайте внимательно документацию о параметре @locallogin.
vikkivсам Linked_Server можно скриптом / процедурами настроить

Большое спасибо за дельные советы, действительно беда была в @locallogin, помогло
Код: sql
1.
EXEC sp_addlinkedsrvlogin @rmtsrvname=N'7.3.11.15,1433',@useself=N'False',@locallogin='NT AUTHORITY\SYSTEM',@rmtuser='sa',@rmtpassword='123123123'


Осталось небольшое белое пятно - где посмотреть список логинов, добавленных процедурой sp_addlinkedsrvlogin, может быть там уже зоопарк логинов и надо бы почистить процедурой sp_droplinkedsrvlogin
...
Рейтинг: 0 / 0
25.07.2018, 17:06
    #39679145
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
JMLabsОсталось небольшое белое пятно - где посмотреть список логинов https://docs.microsoft.com/ru-ru/sql/relational-databases/system-stored-procedures/sp-helpremotelogin-transact-sql?view=sql-server-2017
...
Рейтинг: 0 / 0
25.07.2018, 17:26
    #39679169
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
invmJMLabsОсталось небольшое белое пятно - где посмотреть список логинов https://docs.microsoft.com/ru-ru/sql/relational-databases/system-stored-procedures/sp-helpremotelogin-transact-sql?view=sql-server-2017

link aboveБ. Получение справки по всем удаленным пользователям
В следующем примере отображаются сведения обо всех удаленных пользователях на всех удаленных серверах , известных локальному серверу.

Код: sql
1.
EXEC sp_helpremotelogin;



а у самих в процедуре:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
create procedure sys.sp_helpremotelogin  
@remoteserver sysname = NULL, /* remote server name */  
@remotename sysname = NULL  /* remote login name */  
as  
set nocount on  
  
--  If no server given, get 'em all.  
if not exists (select * from master.dbo.sysservers s, master.dbo.sysremotelogins r  
 where s.srvid = r.remoteserverid  
  and (@remoteserver is null or s.srvname = @remoteserver ))  
 begin  
  if @remoteserver is null  
   begin  
    raiserror(15200,-1,-1)  
    return (0)  
   end  



т.е. справка призывает запустить без параметров вообще,
dbo.sysremotelogins пустое
и получите вы

Msg 15200, Level 16, State 1, Procedure sp_helpremotelogin, Line 14 [Batch Start Line 6]
There are no remote servers defined.

хороши шуточки.

лучше все получать кустарно:
Код: sql
1.
2.
3.
4.
select s.name, l.*
from sys.linked_logins l
     join sys.servers s
	    on s.server_id = l.server_id
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON' / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]