Ho un'attività pianificata (nell'Utilità di pianificazione di Windows) che si collega a SQL Server tramite SMO (Autenticazione di Windows) e crea un backup del database. Finora, questa attività era in esecuzione con l'account Administrator e volevo modificarla per utilizzare invece l'account SYSTEM.
Ho modificato l'attività pianificata e, con mia grande sorpresa, ha funzionato immediatamente.
Vorrei capire perché questo è il caso. Il sistema è Windows Server 2012 R2 e il database è SQL Server 2012 (SP1) Express Edition. È un'installazione standard con l'aggiunta di un utente SQL Auth.
In SSMS, questi sono gli accessi e i ruoli server associati:
MS_PolicyEventProcessingLogin ## (disabilitato)
MS_PolicyTsqlExecutionLogin ## (disabilitato)
- MyServer \ Administrator (pubblico, amministratore di sistema)
- MySqlAuthUser (pubblico)
- BUILTIN \ Users (pubblico)
- NT AUTHORITY \ SYSTEM (pubblico)
- NT SERVICE \ MSSQLSERVER (pubblico, amministratore di sistema)
- NT SERVICE \ SQLWriter (public, sysadmin)
- NT SERVICE \ Winmgmt (pubblico, amministratore di sistema)
- sa (pubblico, amministratore di sistema)
Il database stesso ha i seguenti utenti e i loro ruoli:
- MySqlAuthUser (Accedi MySqlAuthUser) (db_owner)
- dbo (Login sa) (db_owner)
- ospite (disabilitato)
- INFORMATION_SCHEMA (disabilitato)
- sys (disabilitato)
La visualizzazione delle "autorizzazioni effettive" dell'utente NT AUTHORITY \ SYSTEM produce il seguente output:
- ALTER QUALSIASI GRUPPO DISPONIBILITÀ
- CONNECT SQL
- CREA GRUPPO DISPONIBILITÀ
- VISUALIZZA QUALSIASI DATABASE
- VISUALIZZA STATO SERVER
Perché NT AUTHORITY \ SYSTEM dispone delle autorizzazioni per il backup dei database? Sono contento che lo sia, ma mi piacerebbe davvero capire perché ...