Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
SSergeyV
Member

Откуда:
Сообщений: 15
Здравствуйте, Коллеги! Нужна ваша помощь.

Столкнулся со следующей проблемой:
Было:
SQL Server SQLSERVER (версия см. внизу), на нём имя входа DOMAIN\Username
(Безопасность SQL Server + Windows Authentication). Под этим именем удачно работал несколько лет.

Изменения:
1. Сейчас мой логин пересоздали в Active Directory, называется он так же DOMAIN\Username, но изменился внутренний SID.
2. Доступ к SQLSERVER прекратился т.к. имя входа DOMAIN\Username смотрит на старую (удалённую в AD) запись
DOMAIN\Username. Мне пришлось пересоздать на SQLSERVER имя входа DOMAIN\Username. Присвоена роль sysadmin.

Проблема:
Не возможно войти на SQL Server под вновь созданным логином DOMAIN\Username. Ошибка:
Не удается подключиться к SQLSERVER.
Login failed for user 'DOMAIN\Username'. (Microsoft SQL Server, ошибка: 18456)

У меня есть предположение, что несмотря на то, что в SQLSERVER Имя входа было пересоздано заново,
оно имеет внутренние ссылки или ссылки на какой-то "мусор" связанный со старым именем входа.

Коллеги, подскажите, пожалуйста, как решить эту проблему.
PS: Поиск на форумах и во всяких Гуглах не помог. Одна надежда, на вас :)

---------------------------------------------------------------------------------------------
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
12 сен 14, 16:24    [16569365]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
Glory
Member

Откуда:
Сообщений: 104751
SSergeyV
У меня есть предположение, что несмотря на то, что в SQLSERVER Имя входа было пересоздано заново,
оно имеет внутренние ссылки или ссылки на какой-то "мусор" связанный со старым именем входа.

И вы проверили эту "внутреннюю ссылку", т.е. SID ?
12 сен 14, 16:27    [16569380]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
SSergeyV
Member

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

Я только проверил наличие ссылок в существующих базах данных, их нет.
и запускал для каждой базы данных exec sp_change_users_login @Action='Report'.
Пока всё, у меня идеи закончились
12 сен 14, 16:39    [16569440]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
Glory
Member

Откуда:
Сообщений: 104751
SSergeyV
Я только проверил наличие ссылок в существующих базах данных, их нет.

Что ?
Какой sid для логина выдает SUSER_SID ? Совпадает ли он домейновским ?

SSergeyV
и запускал для каждой базы данных exec sp_change_users_login @Action='Report'.

Причем тут это ?
Поользователь базы и имя входа - это разные вещи
12 сен 14, 16:45    [16569462]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
o-o
Guest
SSergeyV,

посмотрите статус 18456 в errorlog-е.
там же и его расшифровка. может, там не то, нa что вы думаете
12 сен 14, 16:45    [16569464]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
SSergeyV
Member

Откуда:
Сообщений: 15
Хотя идея есть.
Думаю надо каким-то образом сравнить SID SQLSERVER, с SID в ActiveDirectory.
Пока не знаю как. Прямого доступа к остнасткам сервера с AD у меня нет.
Может кто знает как это сделать?

Думаю надо как-то правильно удалить свою учётку на сервере SQL,
так что бы он забыл её окончательно. И только потом создать её заново.

Какие методы очистки нужно применить для тотального удаления учётки SQLSERVER?
12 сен 14, 16:46    [16569468]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
Glory
Member

Откуда:
Сообщений: 104751
SSergeyV
Думаю надо как-то правильно удалить свою учётку на сервере SQL,

А до этого вы как ее удаляли ?

SSergeyV
так что бы он забыл её окончательно.

Как можно помнить то, чего нет ?

SSergeyV
Какие методы очистки нужно применить для тотального удаления учётки SQLSERVER?

Для тотального удаления, как и для всякого другого удаления, нужно воспользоваться графической утилитой ManagamentStudio. Или командой DROP LOGIN
12 сен 14, 16:52    [16569498]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
SSergeyV
Member

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

Похоже, вы правильный путь подсказали :)

Посмотрел States в SQL Server логах:

Error: 18456, Severity: 14, State: 11.
Login failed for user 'DOMAIN\Username'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: 192.168.1.104]
Error: 18456, Severity: 14, State: 6.
Login failed for user 'DOMAIN\Username'. Reason: Attempting to use an NT account name with SQL Server Authentication. [CLIENT: 192.168.1.104]


Идём дальше,
на SQLSERVER установленный смешанный режим безопасности (SQL Server + Windows).
Попробую найти у логина флаг, отвечающий за тип безопасности.
12 сен 14, 17:00    [16569540]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
o-o
Guest
SSergeyV,

жалко статус посмотреть?
может, там status = 7
Login disabled and password mismatch
ваш странный способ "ненавсегда грохнуть" наводит на мысли...
12 сен 14, 17:02    [16569550]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
o-o
Guest
извиняюсь, набираю долго :)
12 сен 14, 17:03    [16569558]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
o-o
Guest
SSergeyV
Attempting to use an NT account name with SQL Server Authentication.


блин, не тип виноват, а тот, кто НАБИВАЕТ ПАРОЛь, переключившись не на тот типа авторизации
12 сен 14, 17:05    [16569568]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
SSergeyV
Member

Откуда:
Сообщений: 15
Glory
SSergeyV
Думаю надо как-то правильно удалить свою учётку на сервере SQL,

А до этого вы как ее удаляли ?

С помощью SSMS, предварительно удалив все имена входа в базах данных (как обычно :) )

Glory
SSergeyV
так что бы он забыл её окончательно.

Как можно помнить то, чего нет ?

Обычно так и бывает, что думаешь что этого нет ... а оно оказывается есть :)

Glory
SSergeyV
Какие методы очистки нужно применить для тотального удаления учётки SQLSERVER?

Для тотального удаления, как и для всякого другого удаления, нужно воспользоваться графической утилитой ManagamentStudio. Или командой DROP LOGIN

Спасибо за совет, уже пользуюсь им последние лет 15 :)

Судя по ErrorLog, у вновь создаваемой учётки DOMAIN\Username подхватывается режим аутентификации SQL Server, а не Windows.
Очень неожиданно для меня. Сейчас буду проверять ...
12 сен 14, 17:08    [16569589]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
Glory
Member

Откуда:
Сообщений: 104751
SSergeyV
Судя по ErrorLog, у вновь создаваемой учётки DOMAIN\Username подхватывается режим аутентификации SQL Server, а не Windows.
Очень неожиданно для меня. Сейчас буду проверять ...

Не у логина подхватывается, а кто-то выбрал в диалоге соедиение с сервером не тот тип авторизации
12 сен 14, 17:08    [16569594]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
o-o
Guest
SSergeyV,

подключаетесь из студии?
вот это -- неправильная картинка, выберите там Windows Authentication

К сообщению приложен файл. Размер - 36Kb
12 сен 14, 17:10    [16569602]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
invm
Member

Откуда: Москва
Сообщений: 9687
SSergeyV,

http://sqlblog.com/blogs/aaron_bertrand/archive/2011/01/14/sql-server-v-next-denali-additional-states-for-error-18456.aspx - по значению стейта выясняйте причину ошибки 18456.
12 сен 14, 17:31    [16569691]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
SSergeyV
Member

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

Вы всё правильно показываете, но:
1. В свойствах логина стоит Windows Authentication;
2. В SSMS я вхожу как Windows Authentication;
3. Получаю ошибку Login Failed;
4. Имею errorlog SQLSERVER:

Error: 18456, Severity: 14, State: 11.
Login failed for user 'DOMAIN\Username'. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: 192.168.1.104]
Error: 18456, Severity: 14, State: 6.
Login failed for user 'DOMAIN\Username'. Reason: Attempting to use an NT account name with SQL Server Authentication. [CLIENT: 192.168.1.104]


Кстати, Вы случайно не знаете в каких таблицах SQL Server прячется флаг типа Authentication логина?

К сообщению приложен файл. Размер - 70Kb
12 сен 14, 17:43    [16569727]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
o-o
Guest
invm,

у вас тоже дежа вю пятница :)
Login failed for user 'DOMAIN\Username'. Reason: Attempting to use an NT account name with SQL Server Authentication.
12 сен 14, 17:44    [16569736]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
o-o
Guest
SSergeyV,

вы точно тот лог смотрите?
дата сегодняшняя, время нынешнее?
12 сен 14, 17:46    [16569745]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
SSergeyV
Member

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

вы точно тот лог смотрите?
дата сегодняшняя, время нынешнее?


Сегодняшняя дата, стопудово :)

Вот нашёл схожую проблему на англоязычном форуме. К сожалению, без решения:

DataGate
NOVEMBER 16, 2011 AT 6:11 AM
Hi,
I am encountering the same error message but it is more around the login, this problem happens only on one server but it is fine on another three, my investigation show it is a ghost SID associated with AD user account

Background

1- An Active Directory (AD) account was created for a user [Domain\UserA]
2- A SQL login was created for the account above and then granted access to a number of databases
3- The AD account was renamed/modified to [Domain\UserB]

At this stage the user would encounter an error when connecting to the server

The sql log show this error message

Error: 18456, Severity: 14, State: 11.

Message
Login failed for user ‘domain\user’. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: xxx]

Action on Server 1 SQL (the one with the problem)
1- Dropped the user from the databases
2- Re-Created the login from the windows account [Domain\UserB]
3- Created the user in the respective databases

But the user still unable to connect to the server

Investigation
On server 1, the SID of the user in SYSUSERS was Matching SYSLOGINS and matches with result of SUSER_SID(Domain\UserA)
But it does not match the SID in the AD

The rest of the servers all have the correct SIDs

When I use SUSER_SNAME(Incorrect-Sid) and SUSER_SNAME(Correct-Sid) on this server they both return [Domain\UserB]

The problematic server is always returning the incorrect SID when recreating the user login and when using SUSER_SID(Domain\UserA) as if it is cached somewhere.

I can’t specify the SID when creating the SQL login because it is using the Windows account

Any idea on how to fix this problem
12 сен 14, 17:54    [16569772]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
SSergeyV
Member

Откуда:
Сообщений: 15
invm
SSergeyV,

http://sqlblog.com/blogs/aaron_bertrand/archive/2011/01/14/sql-server-v-next-denali-additional-states-for-error-18456.aspx - по значению стейта выясняйте причину ошибки 18456.


Спасибо, полезная ссылка, уже начала помогать
12 сен 14, 17:56    [16569783]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
o-o
Guest
SSergeyV
Кстати, Вы случайно не знаете в каких таблицах SQL Server прячется флаг типа Authentication логина?


select name, type_desc
from sys.server_principals


но мне кажется, я правильно не верю, что вы логин пересоздавали.
вы при создании логина CREATE LOGIN уже пишете from windows!!!

There are four types of logins: SQL Server logins, Windows logins, certificate-mapped logins, and asymmetric key-mapped logins.
12 сен 14, 18:00    [16569791]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
o-o
Guest
SSergeyV,

вы же утверждали, что ваш аккаунт пересоздали, а не переименовали.
а в цитате The AD account was renamed/modified to [Domain\UserB]
и что-то там ничего нет про Attempting to use an NT account name with SQL Server Authentication.
12 сен 14, 18:05    [16569802]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
SSergeyV
Member

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

вы же утверждали, что ваш аккаунт пересоздали, а не переименовали.
а в цитате The AD account was renamed/modified to [Domain\UserB]
и что-то там ничего нет про Attempting to use an NT account name with SQL Server Authentication.


Да, действительно, он переименовал, а я пересоздал. Но результат получился одинаковый.
Вот я этот пост и вытащил, показать, что похожая проблема существует в мире.
12 сен 14, 18:14    [16569817]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
SSergeyV
Member

Откуда:
Сообщений: 15
o-o
SSergeyV
Кстати, Вы случайно не знаете в каких таблицах SQL Server прячется флаг типа Authentication логина?


select name, type_desc
from sys.server_principals


но мне кажется, я правильно не верю, что вы логин пересоздавали.
вы при создании логина CREATE LOGIN уже пишете from windows!!!

There are four types of logins: SQL Server logins, Windows logins, certificate-mapped logins, and asymmetric key-mapped logins.



В очередной раз пересоздал логин и дал ему права sysadmin и public.
В таблице sys.server_principals следующая запись:

name DOMAIN\Username
principal_id 1000
sid 0x010500000000000515000000833110BD0DAD8EFACE75E4EF82180000
type U
type_desc WINDOWS_LOGIN
is_disabled 0
create_date 12.09.2014 18:20
modify_date 12.09.2014 18:20
default_database_name master
default_language_name us_english
credential_id NULL
12 сен 14, 18:23    [16569849]     Ответить | Цитировать Сообщить модератору
 Re: Windows-логин создан заново. Роль sysadmin. Ошибка 18456: Login failed for user ...  [new]
SSergeyV
Member

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

После очередного пересоздания логина с правами sysadmin подключение под ним по-прежнему не работает.
Есть ещё мысли перезагрузить SQLSERVER, что бы он инициализировался и очистил внутренний кеш.
После перезагрузки отпишусь.
12 сен 14, 18:33    [16569881]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить