Я использую Microsoft SQL Server 2014 на компьютере с Windows Server 2012 R2 Datacenter. Столкнувшись с проблемами при выполнении определенной задачи, я пытаюсь выяснить, имеет ли учетная запись службы, на которой запущена служба Windows Server SQL, доступ к определенным файлам. Я выполнил стандартную установку SQL Server, и учетной записью службы, на которой запущена эта служба, является NT SERVICE\MSSQLSERVER (для служб Integration Services также есть NT SERVICE\SQLSERVERAGENT ).

Как проверить, к каким файлам эта учетная запись имеет доступ? Я в порядке с проверкой на файловой основе.

Один из способов сделать это - запустить cmd.exe от имени другого пользователя и начать делать dir . Когда я нажимаю Shift-правой кнопкой мыши C:\Windows\System32\cmd.exe и выбираю Запуск от имени другого пользователя, я пытаюсь ввести полное имя учетной записи, включая домен, но я получаю эту ошибку: Указанное имя неверно сформированное имя учетной записи. Это из-за места в домене. Если я опускаю домен, по умолчанию используется домен, частью которого является компьютер, который не является NT SERVICE . Предполагается, что пароль нужно оставить пустым.

Как мне войти в систему как пользователь, чей домен имеет пробел?

1 ответ1

0

Вы не можете войти с учетной записью NT Service\MSSQLSERVER или NT SERVICE\SQLSERVERAGENT . Это специальные учетные записи только для службы, у которой есть SID, позволяющий устанавливать разрешения, но Windows знает, что они не являются реальными учетными записями, поэтому не позволят вам войти с ними.

Вы можете проверить, какие разрешения имеют эти учетные записи, используя инструмент Sysinternals AccessChk и сканирование диска.

Пример команды:

accesschk64.exe -s -d -w "Служба NT \MSSQLSERVER" C:\*.*

При этом будет производиться рекурсивный поиск диска C с указанием всех папок, к которым у учетной записи есть доступ для записи. Использовать accesschk64.exe /? для полного списка вариантов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .