В моей тестовой среде (Windows Server 2016 с SQL Server 2017) у меня есть работающая конфигурация Powershell DSC в режиме push с использованием SqlServerDsc, в которой я добавляю логины на сервер, добавляю пользователей базы данных в роли базы данных и т. Д.t PsDscRunAsCredential
, поэтому Local Configuration Manager на сервере использует SYSTEM для подключения к экземпляру SQL Server.В SQL Server я вижу соединение, которое приходит как domainname \ computername $.Никаких сюрпризов там нет.
Что я не понимаю, так это как это может работать, так как имя домена \ имя_компьютера $ не настроено в качестве имени входа, равно как и NT AUTHORITY \ SYSTEM и BUILTIN \ Administrators.EXEC xp_logininfo 'domainname\computername$', 'all';
, EXEC xp_logininfo 'NT AUTHORITY\SYSTEM', 'all';
и EXEC xp_logininfo 'BUILTIN\Administrators', 'all';
возвращаются пустыми.Я также запустил несколько сценариев отчетов о безопасности, которые нашел в Интернете, но ни один из них не содержит полезной информации.
Служба SQL Server работает под учетной записью домена с низким уровнем привилегий.
Есть ли у NT AUTHORITY \ SYSTEM какие-то неявные разрешения системного администратора в SQL Server?Я работаю с SQL Server уже несколько лет, но я не могу понять это.Единственный способ заставить DSC stop работать («Не удалось подключиться к экземпляру SQL») - это создать имя входа для NT AUTHORITY \ SYSTEM и отключить его, что каким-то образом отменяет неявные разрешения (если эточто это).
Есть идеи или указатели?Спасибо!
Обновление: Поведение совпадает с только что установленным экземпляром.