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

Откуда:
Сообщений: 11
Всем привет.
Есть w2008 и Ms SQL 2012 EXPRESS. Есть сторонее приложение, которое к нему коннектится. Есть у этого приложения .ini файл в котором указывается к какой базе и каким способом нужно подключаться. Вот как он выглядит со способом авторизации windows пользователя:

<?xml version="1.0" encoding="windows-1251"?>
<app_config>
<storage>
<type>sql</type>
<server>SRV01\SQLEXPRESS</server>
<database>mybase</database>
<conn_options>Provider=SQLOLEDB;Integrated Security=SSPI</conn_options>
</storage>

<logs_dir></logs_dir>
</app_config>


В этом случае приложение не может подключиться к базе данных и записывает в своих логах такое событие:

---
Не удается открыть базу данных "mybase", запрашиваемую именем входа. Не удалось выполнить вход.
18:47:06 [11408] Terminating...
18:47:06 [11408] STOPPED
xHTTP server build 07.10.2015
Copyright (c) 2003-2011 Datex Software
18:47:35 [11148] CHARSET: windows-1251
18:47:35 [11148] Initializing...
18:47:35 [11148] Serial number checked
18:47:35 [11148] Ошибка подключения к базе SQL
---


Но если в .ini файле прописать способ авторизации через пользователя MSSQL в таком виде:

<?xml version="1.0" encoding="windows-1251"?>
<app_config>
<storage>
<type>sql</type>
<server>srv01\SQLEXPRESS</server>
<database>mybase</database>
<conn_options>Provider=SQLOLEDB;User ID=vasy;Password=1234567890;Trusted_Connection=False</conn_options>
</storage>

<logs_dir></logs_dir>
</app_config>


то в этом случае программа успешно подключается к базе.
При этом в SQL Server managment studio я могу успешно подключаться любым из способов авторизации. Помогите разобраться в чем может быть проблема?
9 июл 18, 19:32    [21557516]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36900
Не раскрыта виндовая учетная запись, под которой запускается ваше приложение.

Сообщение было отредактировано: 9 июл 18, 19:47
9 июл 18, 19:46    [21557547]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31328
Kirill_Gridnev
При этом в SQL Server managment studio я могу успешно подключаться любым из способов авторизации. Помогите разобраться в чем может быть проблема?
Наверняка программа что то там проверяет, типа лицензии, (Serial number checked), и отказывает в доступе. Получается какой то баг в этой проверке.
9 июл 18, 19:48    [21557550]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
Kirill_Gridnev
Member

Откуда:
Сообщений: 11
Гавриленко Сергей Алексеевич,
Приложение запускаю под Administrator (Built-in account for administering the computer/domain). Группы в которых он состоит: Administrators, Performance Log Users.
Что его раскрыть и что нужно посмотреть?
9 июл 18, 19:50    [21557555]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31328
Kirill_Gridnev
Приложение запускаю под Administrator (Built-in account for administering the computer/domain). Группы в которых он состоит: Administrators, Performance Log Users.
Что его раскрыть и что нужно посмотреть?
А SSMS?
9 июл 18, 19:51    [21557559]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
Kirill_Gridnev
Member

Откуда:
Сообщений: 11
alexeyvg,
SQL Server managment studio успешно подключается используя как метод аутентификации windows пользователя так и способ аутентификации через пользователей SQL сервера
9 июл 18, 19:55    [21557566]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31328
Kirill_Gridnev
alexeyvg,
SQL Server managment studio успешно подключается используя как метод аутентификации windows пользователя так и способ аутентификации через пользователей SQL сервера
Я имел в виду, кто был пользователь, который запустил SQL Server managment studio - тот же Administrator, под которым запускается приложение?
9 июл 18, 20:50    [21557675]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
Kirill_Gridnev
Member

Откуда:
Сообщений: 11
alexeyvg,
именно так. Тот же Administrator
9 июл 18, 21:04    [21557706]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31328
Kirill_Gridnev
alexeyvg,
именно так. Тот же Administrator
Тогда что то в коде программы. То есть коннект к сиквелу создаётся, но потом программа его закрывает, и прекращает работу, по каким то своим соображениям.

Собственно, это всё легко проверить профайлером, сделав трейс на события логон логаут. Или даже на что то большее. вдруг удастся понять, что программе надо.
9 июл 18, 22:03    [21557842]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
откройте еррорлог сервера и поищите в нем ошибки входа.
если их нет, то это проблемы кого угодно, но не сервера.
ну а если есть, там еще и причина будет указана
---
что-то настораживает "Не удается открыть базу данных "mybase", запрашиваемую именем входа".
она хоть существует и в онлайне?

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

скорее всего ваш Администратор никакой не сисадмин и просто не отмаплен в mybase,
зато SQL USER отмаплен, иначе бы, если б базы не было вообще или она была бы в оффлайне,
и этот получил бы отлуп по причине " Не удается открыть базу данных "mybase""
9 июл 18, 22:31    [21557903]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7658
Дык у пользователя анонимус в коннекте прописано имя базы, а прав на подключение к ней нет или самой базы нет. И всё чудо.
9 июл 18, 23:01    [21557945]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Владислав Колосов
Дык у пользователя анонимус в коннекте прописано имя базы, а прав на подключение к ней нет или самой базы нет. И всё чудо.

пользователь анонимус не попадет на сервер не потому, что не ту базу запросил,
а по причине отсутствия такого логина на сервере.
так что пользователь, описанный в топике, попадает на сервер под нормальным виндовым логином

а если бы не было базы, то и скульный логин обломался бы
9 июл 18, 23:15    [21557968]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5230
Yasha123
откройте еррорлог сервера и поищите в нем ошибки входа.
если их нет, то это проблемы кого угодно, но не сервера.
ну а если есть, там еще и причина будет указана

там может быть logon trigger - типа защита от входа не через программу

Yasha123
что-то настораживает "Не удается открыть базу данных "mybase", запрашиваемую именем входа".
она хоть существует и в онлайне?

+ 1

автор,
выполните скрипт на сиквеле подключившись вашин виндовым эккаунтом:

select name, type_desc,default_database_name,is_disabled from sys.server_principals where name in ('vasy',original_login())
select * from sys.server_triggers
exec sp_readerrorlog 0,1,N'failed'
10 июл 18, 11:06    [21558594]     Ответить | Цитировать Сообщить модератору
 Re: Авторизация в SQL 2012 EXPRESS  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7658
Если прав нет на базу, то:

Невозможно открыть пользовательскую базу данных по умолчанию. Не удалось выполнить вход.
Ошибка входа пользователя "qqq". (Microsoft SQL Server, ошибка: 4064)


Если база удалена, то:
Невозможно открыть пользовательскую базу данных по умолчанию. Не удалось выполнить вход.
Ошибка входа пользователя "qqq". (Microsoft SQL Server, ошибка: 4064)
10 июл 18, 12:52    [21559017]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить