SMO (Windows Kimlik Doğrulama) kullanarak SQL Server'a bağlanan ve bir veritabanı yedeği oluşturan zamanlanmış bir görevim (Windows Görev Zamanlayıcı'da) var. Şimdiye kadar, bu görev Yönetici hesabı altında çalışıyordu ve bunun yerine SYSTEM hesabını kullanacak şekilde değiştirmek istedim.
Zamanlanan görevi değiştirdim ve benim için sürpriz oldu.
Bunun neden böyle olduğunu anlamak istiyorum . Sistem Windows Server 2012 R2 ve veritabanı SQL Server 2012 (SP1) Express Edition'dır. Bir SQL Auth kullanıcısı eklenmiş standart bir kurulumdur.
SSMS'de bunlar girişler ve ilişkili sunucu rolleri:
MS_PolicyEventProcessingLogin ## (devre dışı)
MS_PolicyTsqlExecutionLogin ## (devre dışı)
- MyServer \ Administrator (genel, sysadmin)
- MySqlAuthUser (herkese açık)
- BUILTIN \ Kullanıcılar (herkese açık)
- NT AUTHORITY \ SYSTEM (herkese açık)
- NT SERVICE \ MSSQLSERVER (genel, sysadmin)
- NT SERVICE \ SQLWriter (genel, sysadmin)
- NT SERVICE \ Winmgmt (genel, sysadmin)
- sa (genel, sysadmin)
Veritabanının kendisi aşağıdaki kullanıcılara ve rollerine sahiptir:
- MySqlAuthUser (MySqlAuthUser oturumu aç) (db_owner)
- dbo (Giriş sa) (db_owner)
- misafir (devre dışı)
- BİLGİ_SCHEMA (devre dışı)
- sys (devre dışı)
NT AUTHORITY \ SYSTEM kullanıcısının "etkin izinlerini" görüntülemek aşağıdaki çıktıyı verir:
- HERHANGİ BİR MEVCUT GRUBU DEĞİŞTİRİN
- SQL BAĞLANTISI
- UYGUNLUK GRUBU OLUŞTUR
- HERHANGİ BİR VERİTABANI GÖRÜNTÜLE
- SUNUCU DEVLETİNİ GÖRÜNTÜLE
NT AUTHORITY \ SYSTEM neden veritabanlarını yedekleme iznine sahip? Olmasına sevindim, ama nedenini anlamak istiyorum ...