Dlaczego NT AUTHORITY \ SYSTEM może tworzyć kopie zapasowe bazy danych SQL Server?

9

Mam zaplanowane zadanie (w Harmonogramie zadań systemu Windows), które łączy się z programem SQL Server za pomocą SMO (uwierzytelnianie systemu Windows) i tworzy kopię zapasową bazy danych. Do tej pory zadanie to działało na koncie administratora i chciałem je zmienić, aby zamiast tego korzystało z konta SYSTEM.

Zmieniłem zaplanowane zadanie i ku mojemu zdziwieniu zadziałało ono od razu po wyjęciu z pudełka.

Chciałbym zrozumieć, dlaczego tak jest. System to Windows Server 2012 R2, a bazą danych jest SQL Server 2012 (SP1) Express Edition. Jest to standardowa instalacja z dodanym jednym użytkownikiem SQL Auth.

W SSMS są to loginy i powiązane z nimi role serwera:

  • MS_PolicyEventProcessingLogin ## (wyłączony)

  • MS_PolicyTsqlExecutionLogin ## (wyłączony)

  • MyServer \ Administrator (public, sysadmin)
  • MySqlAuthUser (publiczny)
  • BUILTIN \ Użytkownicy (publiczny)
  • NT AUTHORITY \ SYSTEM (public)
  • NT SERVICE \ MSSQLSERVER (public, sysadmin)
  • NT SERVICE \ SQLWriter (public, sysadmin)
  • NT SERVICE \ Winmgmt (public, sysadmin)
  • sa (public, sysadmin)

Sama baza danych ma następujących użytkowników i ich role:

  • MySqlAuthUser (Zaloguj się MySqlAuthUser) (właściciel_db)
  • dbo (Zaloguj się) (db_owner)
  • gość (wyłączony)
  • INFORMACJE_SCHEMA (wyłączone)
  • sys (wyłączone)

Wyświetlenie „efektywnych uprawnień” użytkownika NT AUTHORITY \ SYSTEM daje następujące wyniki:

  • ZMIENIĆ KAŻDĄ GRUPĘ DOSTĘPNOŚCI
  • POŁĄCZ SQL
  • UTWÓRZ GRUPĘ DOSTĘPNOŚCI
  • ZOBACZ KAŻDĄ BAZĘ DANYCH
  • ZOBACZ STAN SERWERA

Dlaczego NT AUTHORITY \ SYSTEM ma uprawnienia do tworzenia kopii zapasowych baz danych? Cieszę się, że tak, ale naprawdę chciałbym zrozumieć, dlaczego ...

Heinzi
źródło

Odpowiedzi:

11

Minimalne uprawnienia do tworzenia kopii zapasowych bazy danych są PUBLICna poziomie serwera i DB_BACKUPOPERATORna poziomie bazy danych.

W SQL Server 2005 Microsoft odradza usuwanie NT AUTHORITY\SYSTEMz roli sysadmin:

Konto NT AUTHORITY \ SYSTEM ma także login SQL Server. Konto NT AUTHORITY \ SYSTEM jest obsługiwane w stałej roli serwera SYSADMIN. Nie usuwaj tego konta ani nie usuwaj go z ustalonej roli serwera SYSADMIN. Konto NT AUTHORITY \ SYSTEM jest używane przez Microsoft Update i Microsoft SMS do stosowania dodatków Service Pack i poprawek do instalacji SQL Server 2005. Z konta NT AUTHORITY \ SYSTEM korzysta także usługa SQL Writer Service.

Tak już nie jest w 2012 r. Sprawdziłem dwukrotnie moją własną instancję Express 2012: NT AUTHORITY\SYSTEMnie jest administratorem systemu. Jednak SQL Service VSS Writer jest uruchomiony jako NT AUTHORITY\SYSTEMi jest sysadmin.

Nie mogę znaleźć żadnych linków do tworzenia kopii zapasowych, dlatego NT AUTHORITY\SYSTEMwłaśnie można tworzyć kopie zapasowe baz danych, ale uważam, że tak jest.

Katherine Villyard
źródło