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

Откуда:
Сообщений: 394
Добрый день.
Есть MSSQL Сервер
Microsoft SQL Server 2016 (SP2-GDR) (KB4505220) - 13.0.5101.9 (X64) Jun 15 2019 23:15:58 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: ) (Hypervisor)

Создал имя для входа Test.
Роль Sysadmin

Сопоставил с 2-мя базами нужными

Членство в ролях
db_owner
public

Создал такого же пользователя на нужны БД.
Захожу под ним выдает ошибку.
При входе в систему пользователя "test" произошла ошибка.
НО
Вин аутентификация(доменного DBA) проходит на отлично..
Подскажите,в чем может быть дело?
9 дек 19, 20:27    [22036276]     Ответить | Цитировать Сообщить модератору
 Re: Создание имени для входа и пользователя  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
Максим Александровитч,

а) если у вас логин в роли sysadmin мапить его в базу дополнительно не нужно, он и так там всегда будет как dbo
б) ошибка:
При входе в систему пользователя "test" произошла ошибка.

не очень похожа на сиквеловскую, через что заходите?

Сообщение было отредактировано: 9 дек 19, 20:53
9 дек 19, 20:53    [22036288]     Ответить | Цитировать Сообщить модератору
 Re: Создание имени для входа и пользователя  [new]
Максим Александровитч
Member

Откуда:
Сообщений: 394
felix_ff
Максим Александровитч,

а) если у вас логин в роли sysadmin мапить его в базу дополнительно не нужно, он и так там всегда будет как dbo
б) ошибка:
При входе в систему пользователя "test" произошла ошибка.

не очень похожа на сиквеловскую, через что заходите?


По п.а понял.
По п в Захожу через SSMS
Ошибка такая

При входе в систему пользователя "test" произошла ошибка. (.Net SqlClient Data Provider)
9 дек 19, 20:55    [22036290]     Ответить | Цитировать Сообщить модератору
 Re: Создание имени для входа и пользователя  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
Максим Александровитч,

ну ок.раз вы смогли создать логин и присвоить ему sysadmin, пока отпустим его. подключитесь под вашим логином кем создавали этого теста и покажите что показывает:
select is_srvrolemember('sysadmin');

select suser_name(srm.[role_principal_id]) as [role], sp.[name], sp.[type_desc]
from sys.server_principals sp
    left join sys.server_role_members srm on srm.[member_principal_id] = sp.[principal_id]
where sp.[name] = 'test'



и потом так:
execute as login = 'test';
select * from sys.user_token;
select * from sys.login_token;
revert;


add: и да:
При входе в систему пользователя "test" произошла ошибка. (.Net SqlClient Data Provider)

это не полный текст ошибки. если SSMS выдает исключение на логине там можно провалиться в подробности что бы взять детальную информацию

Сообщение было отредактировано: 9 дек 19, 21:12
9 дек 19, 21:06    [22036296]     Ответить | Цитировать Сообщить модератору
 Re: Создание имени для входа и пользователя  [new]
Максим Александровитч
Member

Откуда:
Сообщений: 394
felix_ff
Максим Александровитч,

ну ок.раз вы смогли создать логин и присвоить ему sysadmin, пока отпустим его. подключитесь под вашим логином кем создавали этого теста и покажите что показывает:
select is_srvrolemember('sysadmin');

select suser_name(srm.[role_principal_id]) as [role], sp.[name], sp.[type_desc]
from sys.server_principals sp
    left join sys.server_role_members srm on srm.[member_principal_id] = sp.[principal_id]
where sp.[name] = 'test'



и потом так:
execute as login = 'test';
select * from sys.user_token;
select * from sys.login_token;
revert;


add: и да:
При входе в систему пользователя "test" произошла ошибка. (.Net SqlClient Data Provider)

это не полный текст ошибки. если SSMS выдает исключение на логине там можно провалиться в подробности что бы взять детальную информацию


role name type_desc
sysadmin Test SQL_LOGIN



principal_id sid name type usage
1 0x01 dbo SQL USER GRANT OR DENY

principal_id sid name type usage
278 0xE170E60C3A68CF42B1FE710C6B6DA02F Test SQL LOGIN GRANT OR DENY
2 0x02 public SERVER ROLE GRANT OR DENY
3 0x03 sysadmin SERVER ROLE GRANT OR DENY
9 дек 19, 21:35    [22036314]     Ответить | Цитировать Сообщить модератору
 Re: Создание имени для входа и пользователя  [new]
Максим Александровитч
Member

Откуда:
Сообщений: 394
А какая именно детальная инф-я нужна?
9 дек 19, 21:37    [22036315]     Ответить | Цитировать Сообщить модератору
 Re: Создание имени для входа и пользователя  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
Максим Александровитч,

ок, действительно sysadmin.

ну в таком случае проверьте:
declare @reg nvarchar(256) =  N'Software\Microsoft\MSSQLServer\' + @@SERVICENAME
exec xp_instance_regread 'HKEY_LOCAL_MACHINE', @reg, N'LoginMode'

должно быть 2
9 дек 19, 21:52    [22036319]     Ответить | Цитировать Сообщить модератору
 Re: Создание имени для входа и пользователя  [new]
Максим Александровитч
Member

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

Нет,тут loginmode=1
9 дек 19, 22:01    [22036326]     Ответить | Цитировать Сообщить модератору
 Re: Создание имени для входа и пользователя  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
Максим Александровитч,

это значит у вас включен режим проверки подлинности только Windows

по ПКМ на самом экземпляре сервера => свойства.
вкладка безопасность, там радио кнопку в режим "проверка подлинности sql server + windows"
и потом рестарт службы сиквела
9 дек 19, 22:05    [22036331]     Ответить | Цитировать Сообщить модератору
 Re: Создание имени для входа и пользователя  [new]
Максим Александровитч
Member

Откуда:
Сообщений: 394
felix_ff
Максим Александровитч,

это значит у вас включен режим проверки подлинности только Windows

по ПКМ на самом экземпляре сервера => свойства.
вкладка безопасность, там радио кнопку в режим "проверка подлинности sql server + windows"
и потом рестарт службы сиквела


Да,все работает...Спасибо большое.
Где только не копался я
9 дек 19, 22:08    [22036334]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить