Почему NT AUTHORITY \ SYSTEM может создавать резервные копии базы данных SQL Server?

9

У меня есть запланированное задание (в планировщике заданий 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 имеет разрешение на резервное копирование баз данных? Я рад, что это так, но я бы очень хотел понять, почему ...

Heinzi
источник

Ответы:

11

Минимальные разрешения для резервного копирования базы данных находятся PUBLICна уровне сервера и DB_BACKUPOPERATORна уровне базы данных.

В SQL Server 2005 Microsoft рекомендовала не удалять NT AUTHORITY\SYSTEMиз роли системного администратора:

Учетной записи NT AUTHORITY \ SYSTEM также предоставляется логин SQL Server. Учетная запись NT AUTHORITY \ SYSTEM предоставляется в предопределенной роли сервера SYSADMIN. Не удаляйте эту учетную запись и не удаляйте ее из предопределенной роли сервера SYSADMIN. Учетная запись NT AUTHORITY \ SYSTEM используется Центром обновления Майкрософт и Microsoft SMS для применения пакетов обновления и исправлений к установке SQL Server 2005. Учетная запись NT AUTHORITY \ SYSTEM также используется службой записи SQL.

Это больше не относится к 2012 году. Я дважды проверил собственный экземпляр 2012 Express: NT AUTHORITY\SYSTEMэто не системный администратор. Тем не менее, SQL Service VSS Writer он работает как NT AUTHORITY\SYSTEMи является системным администратором.

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

Кэтрин Вилляр
источник