मेरे पास एक अनुसूचित कार्य (विंडोज टास्क शेड्यूलर में) है जो एसएमओ (विंडोज ऑथेंटिकेशन) का उपयोग करके SQL सर्वर से जुड़ता है और एक डेटाबेस बैकअप बनाता है। अब तक, यह कार्य प्रशासक खाते के तहत चल रहा था और मैं इसके बजाय सिस्टम खाते का उपयोग करने के लिए इसे बदलना चाहता था।
मैंने निर्धारित कार्य को बदल दिया और, मेरे आश्चर्यचकित करने के लिए, यह आउट-ऑफ-द-बॉक्स काम किया।
मैं समझना चाहता हूं कि ऐसा क्यों है। सिस्टम Windows सर्वर 2012 R2 है, और डेटाबेस SQL सर्वर 2012 (SP1) एक्सप्रेस संस्करण है। यह एक एसक्यूएल प्रामाणिक उपयोगकर्ता के साथ एक मानक स्थापना है।
SSMS में, ये लॉगिन और उनसे जुड़ी सर्वर भूमिकाएँ हैं:
MS_PolicyEventProcessingLogin ## (अक्षम)
MS_PolicyTsqlExecutionLogin ## (अक्षम)
- MyServer \ प्रशासक (सार्वजनिक, sysadmin)
- MySqlAuthUser (सार्वजनिक)
- BUILTIN \ उपयोगकर्ता (सार्वजनिक)
- NT AUTHORITY \ SYSTEM (सार्वजनिक)
- NT सेवा \ MSSQLSERVER (सार्वजनिक, sysadmin)
- NT सेवा \ SQLWriter (सार्वजनिक, sysadmin)
- NT सेवा \ Winmgmt (सार्वजनिक, sysadmin)
- सा (सार्वजनिक, sysadmin)
डेटाबेस में स्वयं निम्नलिखित उपयोगकर्ता और उनकी भूमिकाएँ हैं:
- MySqlAuthUser (लॉग इन MySqlAuthUser) (db_owner)
- dbo (लॉगिन सा) (db_owner)
- अतिथि (अक्षम)
- INFORMATION_SCHEMA (अक्षम)
- sys (अक्षम)
उपयोगकर्ता NT NTHORITY \ SYSTEM की "प्रभावी अनुमतियाँ" देखने से निम्न आउटपुट प्राप्त होता है:
- किसी भी उपलब्धता समूह से
- कनेक्ट SQL
- सृजन उपलब्धता समूह
- कोई DATABASE देखें
- देखें सीवर स्टेट
NT AUTHORITY \ SYSTEM को बैकअप डेटाबेस की अनुमति क्यों है? मुझे खुशी है कि यह करता है, लेकिन मैं वास्तव में समझना चाहूंगा कि क्यों ...