Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 sa поломался  [new]
JohnAl
Member

Откуда: Москва
Сообщений: 109
SQL Express х64 2008R2, сервер запущен на контроллере домена, под учеткой local system.
Стоял себе работал, как вдруг, после перезагрузки... Перестало работать приложение, которое через пользователя sa обращается к БД. БД в порядке, сервер работает штатно, другие логины на нем так же работоспособны. А вот именно sa - нет. При попытке открыть свойства через студию ошибка:
"Cannot show requested dialog. (SqlMgmt)
Property IsLocked is not available for Login '[sa]'. This property may not exist for this object, or may not be retrievable due to insufficient access rights. (Microsoft.SqlServer.Smo)"

Причем ALTER LOGIN [sa] WITH PASSWORD=N'1234567' - работает, пароль меняет. А вот изменить свойства, скажем:
EXEC master..sp_addsrvrolemember @loginame = N'sa', @rolename = N'securityadmin'
выдает ошибку
"Msg 15405, Level 11, State 1, Procedure sp_addsrvrolemember, Line 45
Cannot use the special principal 'sa'."

А в логах вот чего:
"2013-04-25 10:22:24.75 Logon Error: 18456, Severity: 14, State: 10.
2013-04-25 10:22:24.75 Logon Login failed for user 'sa'. Reason: Password validation failed with an infrastructure error. Check for previous errors. [CLIENT: 192.168.159.5]"

Как можно восстановить sa?
25 апр 13, 11:14    [14228807]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
Glory
Member

Откуда:
Сообщений: 104760
JohnAl
EXEC master..sp_addsrvrolemember @loginame = N'sa', @rolename = N'securityadmin'
выдает ошибку
"Msg 15405, Level 11, State 1, Procedure sp_addsrvrolemember, Line 45
Cannot use the special principal 'sa'."

Это никогда и не работало.
Потому что права у sa нельзя ни отобрать, ни добавить
25 апр 13, 11:17    [14228833]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
JohnAl
Member

Откуда: Москва
Сообщений: 109
Да? Ну ладно, не о том речь.
Статья вот интересная по теме:
http://www.mssqltips.com/sqlservertip/2679/sql-server-login-failure-error-18456-severity-14-state-10/
Однако ж, судя по ней, логин sa не заблокирован, не истек и прочее.

use master
go
select loginproperty('sa','isexpired')
select loginproperty('sa','IsLocked')
select loginproperty('sa','IsMustChange')

выдает
0
NULL
0

Что б еще проверить...
25 апр 13, 11:28    [14228909]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
Glory
Member

Откуда:
Сообщений: 104760
JohnAl
Что б еще проверить...

Вы сами, а не ваше приложение, через другие утилиты можете создать коннект под sa или нет ?
25 апр 13, 11:32    [14228938]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
JohnAl
Member

Откуда: Москва
Сообщений: 109
Glory
JohnAl
Что б еще проверить...

Вы сами, а не ваше приложение, через другие утилиты можете создать коннект под sa или нет ?

В том то дело, что нет. Зайти или подконектится под sa нет никакой возможности, никак.

Вот еще интересно
SELECT CONVERT (varchar(30), GETDATE(), 121) as Run_Time,
dateadd (ms, (ST.[RecordTime] - sys.ms_ticks), GETDATE()) as [Notification_Time],
ST.* , sys.ms_ticks AS [Current Time]
FROM
(SELECT
RBXML.value('(//Record/Error/ErrorCode)[1]', 'varchar(30)') AS [ErrorCode],
RBXML.value('(//Record/Error/CallingAPIName)[1]', 'varchar(255)') AS [CallingAPIName],
RBXML.value('(//Record/Error/APIName)[1]', 'varchar(255)') AS [APIName],
RBXML.value('(//Record/Error/SPID)[1]', 'int') AS [SPID],
RBXML.value('(//Record/@id)[1]', 'bigint') AS [Record Id],
RBXML.value('(//Record/@type)[1]', 'varchar(30)') AS [Type],
RBXML.value('(//Record/@time)[1]', 'bigint') AS [RecordTime]
FROM (SELECT CAST (record as xml) FROM sys.dm_os_ring_buffers
WHERE ring_buffer_type = 'RING_BUFFER_SECURITY_ERROR') AS RB(RBXML)) ST
CROSS JOIN sys.dm_os_sys_info sys
ORDER BY ST.[RecordTime] ASC

выдал ErrorCode 0x6D9, что соответствует статусу 1753, на что net helpmsg сообщает:
"В системе отображения конечных точек не осталось доступных конечных точек"

Хм... Как это интерпретировать?
25 апр 13, 11:37    [14228979]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
Ennor Tiegael
Member

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

Что вернет
select serverproperty('IsIntegratedSecurityOnly');
?
25 апр 13, 12:38    [14229440]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
komrad
Member

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

создайте sa2 , дайте ему sysadmin роль, переконфигурите приложение на использование sa2

если заработает, то предлагаю отрезать высокие права у sa2
а еще лучше создать спец. пользователя типа appboss с правами db_owner на вашей БД и использовать его, т.к. работать под sa неправильно в корне... как соббсно и размещение сервера СУБД на контроллере домена
25 апр 13, 12:43    [14229482]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
JohnAl
Glory
Вы сами, а не ваше приложение, через другие утилиты можете создать коннект под sa или нет ?

В том то дело, что нет. Зайти или подконектится под sa нет никакой возможности, никак.
Ошибка то какая?
25 апр 13, 12:51    [14229533]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
Glory
Member

Откуда:
Сообщений: 104760
JohnAl
Однако ж, судя по ней, логин sa не заблокирован, не истек и прочее.

use master
go
select loginproperty('sa','isexpired')
select loginproperty('sa','IsLocked')
select loginproperty('sa','IsMustChange')

выдает
0
NULL
0

Что б еще проверить...

Мне почему то кажется, что проблема в вашем контроллере домена или машине, на которой он установлен
потому что 'IsLocked' согласно документации должно возвращать 1 или 0. Но никак не NULL

Опять же запрос к sys.dm_os_sys_info, которая согласно документации
Returns a miscellaneous set of useful information about the computer, and about the resources available to and consumed by SQL Server
падает с ошибкой о нехватке каких то системных ресурсов
Сомневаюсь, что получение information about the computer идет в обход обращения к оп.системе.
25 апр 13, 13:01    [14229591]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
JohnAl
Member

Откуда: Москва
Сообщений: 109
select serverproperty('IsIntegratedSecurityOnly');
возвращает 0

sa1 создал, приложение под ним работает.
Собсно, приложению логин с высокими правами и не нужен. Но проблема в том, что разработчики так придумали приложение, что sa у них зашит на использование "внутри". И это все распространено на 200 серверов, по всей стране... Причем все эти сервера - контроллеры доменов... Бизнес требует, крутитесь как хотите...

alexeyvg, ошибка на вход через студию простая:
TITLE: Connect to Server
------------------------------
Cannot connect to 192.168.159.5
------------------------------
ADDITIONAL INFORMATION:
Login failed for user 'sa'. (Microsoft SQL Server, Error: 18456)

А в логах. уже писал:
"2013-04-25 10:22:24.75 Logon Error: 18456, Severity: 14, State: 10.
2013-04-25 10:22:24.75 Logon Login failed for user 'sa'. Reason: Password validation failed with an infrastructure error. Check for previous errors. [CLIENT: 192.168.159.5]"

Чую, переустановкой sql дело пахнет. В общем-та, экспресс - это не страшно :) Но как сломалось, вот загадка...
25 апр 13, 13:05    [14229613]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
Glory
Member

Откуда:
Сообщений: 104760
JohnAl
Чую, переустановкой sql дело пахнет.

Перезапустите машину для начала
25 апр 13, 13:13    [14229642]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
JohnAl
Member

Откуда: Москва
Сообщений: 109
Glory
JohnAl
Однако ж, судя по ней, логин sa не заблокирован, не истек и прочее.

use master
go
select loginproperty('sa','isexpired')
select loginproperty('sa','IsLocked')
select loginproperty('sa','IsMustChange')

выдает
0
NULL
0

Что б еще проверить...

Мне почему то кажется, что проблема в вашем контроллере домена или машине, на которой он установлен
потому что 'IsLocked' согласно документации должно возвращать 1 или 0. Но никак не NULL

Опять же запрос к sys.dm_os_sys_info, которая согласно документации
Returns a miscellaneous set of useful information about the computer, and about the resources available to and consumed by SQL Server
падает с ошибкой о нехватке каких то системных ресурсов
Сомневаюсь, что получение information about the computer идет в обход обращения к оп.системе.


Наверное, да. Но.
ALTER LOGIN [sa] WITH PASSWORD = '1234567' UNLOCK
переводит select loginproperty('sa','IsLocked') именно в NULL а не 0, почему-то...
Запрос к sys.dm_os_sys_info проходит штатно, просто я сократил вывод результата. Там строчки вида:
2013-04-25 11:29:23.740 2013-04-25 11:29:23.110 0x6D9 CAPIPwdPolicyManager::ValidatePwdForLogin NetValidatePasswordPolicy 59 105079 RING_BUFFER_SECURITY_ERROR 741038 741669
2013-04-25 11:29:23.740 2013-04-25 11:29:23.110 0x6D9 CAPIPwdPolicyManager::ValidatePwdForLogin NetValidatePasswordPolicy 59 105080 RING_BUFFER_SECURITY_ERROR 741041 741672

Из всего этого интересен только ErrorCode, вот он - 0x6D9, т.е 1753 в десятичной, т.е. "В системе отображения конечных точек не осталось доступных конечных точек". При чем тут эндпойнты...
25 апр 13, 13:20    [14229683]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
Glory
Member

Откуда:
Сообщений: 104760
JohnAl
При чем тут эндпойнты...

Эндпойнт - это вход для обращения к сервису в SOA.
Например, вход для обращения к оп.системе для получения каких то данных.
25 апр 13, 13:26    [14229712]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2995
JohnAl,
попробуйте
ALTER LOGIN [sa] with CHECK_POLICY = OFF
25 апр 13, 13:54    [14229906]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
JohnAl
Member

Откуда: Москва
Сообщений: 109
HandKot
JohnAl,
попробуйте
ALTER LOGIN [sa] with CHECK_POLICY = OFF


Помогло...
Благодарю.
Непонятно, как только раньше работало. Учитывая что пароль у sa - простой, а политика в домене допускает только сложные...
25 апр 13, 14:39    [14230234]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2995
JohnAl, этот глюк был в 2005


ЗЫЖ а у Вас какая версия ?
25 апр 13, 14:57    [14230410]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2995
JohnAl
HandKot
JohnAl,
попробуйте
ALTER LOGIN [sa] with CHECK_POLICY = OFF


Помогло...
Благодарю.
Непонятно, как только раньше работало. Учитывая что пароль у sa - простой, а политика в домене допускает только сложные...

нам один раз так админы подсуропили накатав политику дормена на сервера :) вот была веселуха
25 апр 13, 14:58    [14230418]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
komrad
Member

Откуда:
Сообщений: 5252
HandKot
JohnAl,
попробуйте
ALTER LOGIN [sa] with CHECK_POLICY = OFF


забавно...
была такая идея, но, согласно тестам на своих сиквелах (2005-е), эта опция, будучи включенной, "вступала в работу" только при следующей смене пароля

странно
25 апр 13, 15:06    [14230470]     Ответить | Цитировать Сообщить модератору
 Re: sa поломался  [new]
ultima
Member

Откуда: СПб
Сообщений: 121
HandKot
JohnAl,
попробуйте
ALTER LOGIN [sa] with CHECK_POLICY = OFF

и от меня спасибо, была та же проблема SQL 2005 Express
18 янв 14, 16:14    [15433670]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить