У меня есть запланированное задание (в планировщике заданий Windows), которое подключается к SQL Server с помощью SMO (проверка подлинности Windows) и создает резервную копию базы данных. До сих пор эта задача выполнялась под учетной записью администратора, и я хотел изменить ее на использование учетной записи SYSTEM.
Я изменил запланированное задание, и, к моему удивлению, оно сработало.
Я хотел бы понять, почему это так. Система - Windows Server 2012 R2, а база данных - SQL Server 2012 (SP1) Express Edition. Это стандартная установка с добавлением одного пользователя SQL Auth.
В SSMS это имена входа и связанные с ними роли сервера:
MS_PolicyEventProcessingLogin ## (отключено)
MS_PolicyTsqlExecutionLogin ## (отключено)
- MyServer \ Администратор (общедоступный, системный администратор)
- MySqlAuthUser (общедоступный)
- BUILTIN \ Пользователи (общедоступные)
- NT AUTHORITY \ SYSTEM (общедоступный)
- NT SERVICE \ MSSQLSERVER (общедоступный, системный администратор)
- NT SERVICE \ SQLWriter (общедоступный, системный администратор)
- NT SERVICE \ Winmgmt (общедоступный, системный администратор)
- sa (общедоступный, сисадмин)
Сама база данных имеет следующих пользователей и их роли:
- MySqlAuthUser (вход MySqlAuthUser) (db_owner)
- dbo (логин sa) (db_owner)
- гость (инвалид)
- INFORMATION_SCHEMA (отключено)
- sys (отключено)
Просмотр «действующих разрешений» пользователя NT AUTHORITY \ SYSTEM приводит к следующему выводу:
- АЛЬТЕР ЛЮБОЙ ГРУППЫ ДОСТУПНОСТИ
- ПОДКЛЮЧИТЬ SQL
- СОЗДАТЬ НАЛИЧИЕ ГРУПП
- СМОТРЕТЬ ЛЮБУЮ БАЗУ ДАННЫХ
- ПОСМОТРЕТЬ СЕРВЕРНОЕ СОСТОЯНИЕ
Почему NT AUTHORITY \ SYSTEM имеет разрешение на резервное копирование баз данных? Я рад, что это так, но я бы очень хотел понять, почему ...