Pourquoi NT AUTHORITY \ SYSTEM peut-il créer des sauvegardes de base de données SQL Server?

9

J'ai une tâche planifiée (dans le Planificateur de tâches Windows) qui se connecte à SQL Server à l'aide de SMO (authentification Windows) et crée une sauvegarde de base de données. Jusqu'à présent, cette tâche s'exécutait sous le compte administrateur et je voulais la modifier pour utiliser le compte SYSTEM à la place.

J'ai changé la tâche planifiée et, à ma grande surprise, cela a fonctionné prêt à l'emploi.

J'aimerais comprendre pourquoi c'est le cas. Le système est Windows Server 2012 R2 et la base de données est SQL Server 2012 (SP1) Express Edition. Il s'agit d'une installation standard avec un utilisateur SQL Auth ajouté.

Dans SSMS, ce sont les connexions et leurs rôles de serveur associés:

  • MS_PolicyEventProcessingLogin ## (désactivé)

  • MS_PolicyTsqlExecutionLogin ## (désactivé)

  • MyServer \ Administrator (public, sysadmin)
  • MySqlAuthUser (public)
  • BUILTIN \ Users (public)
  • AUTORITÉ NT \ SYSTÈME (public)
  • NT SERVICE \ MSSQLSERVER (public, sysadmin)
  • NT SERVICE \ SQLWriter (public, sysadmin)
  • SERVICE NT \ Winmgmt (public, administrateur système)
  • sa (public, administrateur système)

La base de données elle-même a les utilisateurs suivants et leurs rôles:

  • MySqlAuthUser (Connexion MySqlAuthUser) (db_owner)
  • dbo (Login sa) (db_owner)
  • invité (désactivé)
  • INFORMATION_SCHEMA (désactivé)
  • sys (désactivé)

L'affichage des "autorisations effectives" de l'utilisateur NT AUTHORITY \ SYSTEM produit la sortie suivante:

  • MODIFIER TOUT GROUPE DE DISPONIBILITÉ
  • CONNECT SQL
  • CRÉER UN GROUPE DE DISPONIBILITÉ
  • VOIR TOUTE BASE DE DONNÉES
  • VOIR L'ÉTAT DU SERVEUR

Pourquoi NT AUTHORITY \ SYSTEM est-il autorisé à sauvegarder des bases de données? Je suis content que ce soit le cas, mais j'aimerais vraiment comprendre pourquoi ...

Heinzi
la source

Réponses:

11

Les autorisations minimales pour sauvegarder une base de données sont PUBLICau niveau du serveur et DB_BACKUPOPERATORau niveau de la base de données.

Dans SQL Server 2005, Microsoft a recommandé de ne pas supprimer NT AUTHORITY\SYSTEMle rôle sysadmin:

Le compte NT AUTHORITY \ SYSTEM reçoit également une connexion SQL Server. Le compte NT AUTHORITY \ SYSTEM est provisionné dans le rôle serveur fixe SYSADMIN. Ne supprimez pas ce compte et ne le supprimez pas du rôle serveur fixe SYSADMIN. Le compte NT AUTHORITY \ SYSTEM est utilisé par Microsoft Update et par Microsoft SMS pour appliquer des Service Packs et des correctifs à une installation SQL Server 2005. Le compte NT AUTHORITY \ SYSTEM est également utilisé par le service SQL Writer.

Ce n'est plus le cas en 2012. J'ai revérifié ma propre instance de 2012 Express: NT AUTHORITY\SYSTEMn'est pas un administrateur système. Toutefois, le SQL Service VSS Writer est exécuté en tant que NT AUTHORITY\SYSTEMet est un administrateur système.

Je ne suis pas en mesure de trouver des liens de sauvegarde que c'est pourquoi NT AUTHORITY\SYSTEMest autorisé à sauvegarder des bases de données, mais je crois que c'est le cas.

Katherine Villyard
la source