Не могу получить доступ к базе данных из кода, но могу использовать SSMS - PullRequest
0 голосов
/ 22 января 2019

Я могу войти в базу данных штрафа из SSMS с

localhost\MSSQLSERVER01

username: DOMAIN\user.name (Аутентификация Windows)

Но когда я пытаюсь подключиться из своего приложения, я получаю

Error Number:18456,State:1,Class:14
Login failed for user 'DOMAIN\User.Name'.   

Несмотря на то, что моя учетная запись может обращаться к БД в SSMS и имеет разрешения sysadmin.

Проверяя журнал SQL, я могу видеть это сообщение при неудачном входе в систему:

2019-01-22 09:46:42.13 Logon       Login failed for user 'DOMAIN\User.Name'. Reason: Could not find a login matching the name provided. [CLIENT: <local machine>]
2019-01-22 09:48:33.74 Logon       Error: 18456, Severity: 14, State: 5.

Я пытался добавить NT AUTHORIRTY\NETWORK SERVICE к обоим /server/security/logins, а также /server/database/security/users, но это не имело никакого значения

Почему это происходит, или как я могу отладить это, когда сообщение об ошибке не дает мне практически никакой информации?


Строка подключения:

Server=localhost; Database=dbname; Trusted_Connection=True;MultipleActiveResultSets=true;

Но я также пытался

Server=localhost\\MSSQLSERVER01; Database=dbname; Trusted_Connection=True;MultipleActiveResultSets=true;

с теми же результатами

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Дополнительная вещь, которая может понадобиться, если это еще не сделано:

  • Щелкните правой кнопкой мыши сервер в SSMS, выберите параметр «Свойства».

  • Выберите вкладку «Подключения».

  • Установите флажок «Разрешить удаленные подключения к этому серверу».

Если вы пытаетесь получить к нему удаленный доступ с помощью аутентификации Windows:

  • Щелкните правой кнопкой мыши на сервере и выберите Свойства

  • Перейти на страницу безопасности

  • В разделе Проверка подлинности сервера выберите SQL Server и Windows. Переключатель режима аутентификации

  • Нажмите OK

  • Перезапуск служб SQL

Взято из: https://stackoverflow.com/a/23395581/6391339

0 голосов
/ 22 января 2019

Строка подключения должна быть такой:

источник данных = сервер \ gaurav.goel; база данных = имя_БД; встроенная безопасность = True; MultipleActiveResultSets = True

Другой подход заключается в использовании файла UDL - создайте текстовый файл на своем компьютере и измените его расширение на UDL.Затем откройте этот файл и попробуйте добавить в него свое соединение и проверьте, можете ли вы подключиться или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...