Ошибка входа. Ошибка входа пользователя 'NT AUTHORITY \ SYSTEM' - PullRequest
14 голосов
/ 01 августа 2011

Я создал службу Windows, и моя служба зависит от службы сервера SQL.Сначала запускался SQL, а затем запускалась моя служба при запуске ПК или перезагрузке ПК.

Это работает нормально, но проблема в том, что файл базы данных не может быть прочитан службой Windows, выдавая исключение «Невозможно открыть базу данных пользователя по умолчанию.Ошибка входа в систему. Ошибка входа пользователя «NT AUTHORITY \ SYSTEM» при попытке прочитать базу данных.

Если я запустил компьютер и вошел в систему, он не сможет прочитать базу данных, но если я запустилкомпьютер и подождите несколько секунд, а затем войдите в службу Windows, которая считывает базу данных.

Ответы [ 6 ]

27 голосов
/ 01 августа 2011

Бьюсь об заклад, у вас есть это в строке подключения:

Integrated Security=SSPI

или что-то подобное.

Теперь учетная запись, под которой работает служба (NT AUTHORITY\SYSTEM), пытается подключиться кбазы данных - и не может, поскольку она не авторизована для этого.

Вы можете:

  • либо создать логин для NT AUTHORITY\SYSTEM на вашем SQL Server и дать ему необходимые разрешениядля вашего приложения

ИЛИ:

  • вы создаете специальную учетную запись пользователя приложения в SQL Server (вход в SQL Server и пользователя в вашей базе данных) иизмените строку подключения на:

    User ID=(your app account);pwd=YourPassword
    
2 голосов
/ 20 января 2017

Перейдите на вкладку безопасности под вашей базой данных.

Под security, нажмите, чтобы развернуть вкладку Users.

Найти погоду NT AUTHORITY\SYSTEM присутствует.

Если нет, Щелкните правой кнопкой мыши на пользователях , Нажмите новый пользователь

В новом окне пользователя на вкладке general измените user type на пользователя Windows .

Выберите имя пользователя для, NT AUTHORITY \ SYSTEM, вам нужно будет найти его в Advanced tab, find now, and select system.

Аналогично для логина, browse and find NT AUTHORITY\SYSTEM.

А на вкладке членства слева выберите все необходимые поля и нажмите ОК.

Возможно, это решит вашу проблему. Надеюсь, это поможет.

1 голос
/ 23 мая 2014

Я фактически только что изменил разрешения для пользователя NT AUTHORITY \ SYSTEM в SQL Server, и это сработало для меня.

0 голосов
/ 18 марта 2019

Я удалил Trusted_Connection=yes из строки подключения, и он работал отлично.

0 голосов
/ 25 сентября 2018

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

постоянная информация о безопасности = True

0 голосов
/ 18 октября 2011

Простое решение - проверить файл web.config и убедиться, что один из них является частью строки подключения к базе данных:

Trusted Connection=false

OR

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