SQL Server में लॉगिन के रूप में सक्रिय निर्देशिका उपयोगकर्ता समूह कैसे जोड़ें


108

मेरे पास एक .net अनुप्रयोग है जो विंडोज़ प्रमाणीकरण का उपयोग करके SQL सर्वर से कनेक्ट हो रहा है।

हम अनुप्रयोग में SQL सर्वर प्रमाणीकरण का उपयोग नहीं कर सकते हैं। हमारी परियोजना के लिए हमारे पास बहुत से सक्रिय निर्देशिका उपयोगकर्ता हैं। इसलिए हमें प्रत्येक AD उपयोगकर्ताओं के लिए अलग लॉगिन खाता बनाने के बजाय SQL सर्वर में प्रत्येक सक्रिय निर्देशिका उपयोगकर्ताओं के लिए अलग लॉगिन खाता बनाना होगा, क्या SQL Server में सक्रिय निर्देशिका उपयोगकर्ता समूह का उपयोग करने का कोई तरीका है?

जवाबों:


162

SQL सर्वर प्रबंधन स्टूडियो में, पर जाएँ Object Explorer > (your server) > Security > Loginsऔर राइट-क्लिक करें New Login:

यहां छवि विवरण दर्ज करें

फिर संवाद बॉक्स में जो पॉप अप करता है, उस प्रकार की वस्तुओं को चुनें जिन्हें आप देखना चाहते हैं ( Groupsडिफ़ॉल्ट रूप से अक्षम है - इसे जांचें!) और उस स्थान को चुनें जहां आप अपनी वस्तुओं को देखना चाहते हैं (जैसे उपयोग Entire Directory) और फिर अपना विज्ञापन समूह ढूंढें। ।

यहां छवि विवरण दर्ज करें

अब आपके पास एक नियमित SQL सर्वर लॉगिन है - ठीक उसी तरह जब आप एक एकल AD उपयोगकर्ता के लिए बनाते हैं। उस नए लॉगिन को उस डेटाबेस पर अनुमति दें जिसकी उसे आवश्यकता है, और आप जाते हैं!

उस AD समूह का कोई भी सदस्य अब SQL सर्वर पर लॉगिन कर सकता है और अपने डेटाबेस का उपयोग कर सकता है।


क्या ऊपर की तरह mysql में समूह बनाने का कोई मौका है?
uzay95

2
एनोटेट स्क्रीन शॉट्स के साथ एक बहुत स्पष्ट जवाब के लिए धन्यवाद! काश सभी उत्तर इस तरह होते ...
NickG

1
@ नीक: मैंने छवि को लोड करने के लिए और पेंट किए गए लाल आयतों को सम्मिलित करने के लिए नि: शुल्क पेंट.नेट का उपयोग किया
marc_s

7
यह मेरे लिए काम नहीं करता है। मेरे पास एक विंडोज ग्रुप "डेटाएक्स्ट" है, जो "यूजरएक्स" का सदस्य है। मैंने DataAccess समूह के लिए एक लॉगिन बनाया और एक डेटाबेस पर सार्वजनिक, डेटाटाइडर, और डेटावॉटर एक्सेस करने के लिए लॉगिन के उपयोगकर्ता मैपिंग को सेट किया। उपयोगकर्ता लॉग इन नहीं कर सकता है। यदि मैं उपयोगकर्ता को विशेष रूप से जोड़ता हूं, और सटीक समान मैपिंग अनुमति देता हूं, तो वह लॉग इन कर सकता है। जब मैं समूह के लिए Securables> प्रभावी अनुमतियों पर क्लिक करता हूं, तो यह कहता है "सर्वर प्रिंसिपल के रूप में निष्पादित नहीं कर सकता है। क्योंकि प्रिंसिपल 'GroupName' से बाहर नहीं निकलता है, इस प्रकार के प्रिंसिपल को प्रतिरूपित नहीं किया जा सकता है, या आपके पास अनुमति नहीं है। "
त्रिवेंको

1
@ समय: उपयोगकर्ता का नाम - यह अभी भी उपयोगकर्ता है कि लॉग इन करता है - वह सीधे अनुमति नहीं है - उपयोगकर्ता के रूप में - लेकिन उस समूह का सदस्य होने से जिसकी अनुमति है
marc_s

21

आप टी-एसक्यूएल का उपयोग कर सकते हैं:

use master
GO
CREATE LOGIN [NT AUTHORITY\LOCALSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO
CREATE LOGIN [NT AUTHORITY\NETWORKSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName

मैं इसे उत्पादन सर्वर से परीक्षण मशीन में पुनर्स्थापित करने के एक हिस्से के रूप में उपयोग करता हूं:

USE master
GO
ALTER DATABASE yourDbName SET OFFLINE WITH ROLLBACK IMMEDIATE
RESTORE DATABASE yourDbName FROM DISK = 'd:\DropBox\backup\myDB.bak'
ALTER DATABASE yourDbName SET ONLINE
GO
CREATE LOGIN [NT AUTHORITY\LOCALSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO
CREATE LOGIN [NT AUTHORITY\NETWORKSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO

आपको जर्मन या फ्रेंच विंडोज के मामले में सेवाओं के स्थानीयकृत नाम का उपयोग करने की आवश्यकता होगी, देखें कि गैर-अंग्रेजी विंडोज पर सेवा खाते के लिए SQL सर्वर लॉगिन कैसे बनाएं?


यदि आपको डेटाबेस स्तर लॉगिन / प्रिंसिपल सेट करने की आवश्यकता है, तो यहां एक और उत्तर मुझे उपयोगी dba.stackexchange.com/a/2578/60876
Agostino

मुझे आश्चर्य है कि अगर इसका उपयोग एक निश्चित सक्रिय निर्देशिका समूह को एक निश्चित स्कीमा तक पहुंच प्रदान करने के लिए किया जा सकता है - छद्म वर्ग CREATE LOGIN ... WITH DEFAULT_SCHEMAमें डॉट्स ...को एक निश्चित विज्ञापन समूह का संदर्भ देना है। हमारे पास कई समूह हैं और accountantsस्कीमा ´A not को एक सक्रिय निर्देशिका समूह एक्सेस देना चाहते हैं, लेकिन स्कीमा ´B´ और ´C´ को नहीं। इसी तरह समूह illingbilling` में केवल स्कीमा ´B´ तक पहुंच होनी चाहिए। एक दृश्य के रूप में हम msft पहुंच का उपयोग कर रहे हैं।
8

0

SQL सर्वर प्रबंधन स्टूडियो में जाएं, सुरक्षा पर नेविगेट करें, लॉगिन पर जाएं और राइट क्लिक करें। एक मेनू एक बटन के साथ आएगा, जिसमें "नया लॉगिन" होगा। वहां आप उपयोगकर्ता और / या समूह को सक्रिय निर्देशिका से अपने SQL सर्वर "अनुमतियों" में जोड़ पाएंगे। उम्मीद है की यह मदद करेगा


0

यहाँ मेरा अवलोकन है। मैंने समूह विंडो (AD) उपयोगकर्ता खाते के लिए एक लॉगिन (आसानी से) बनाया, लेकिन इसका कार्य विभिन्न SQL सर्वरों में सुरक्षित है। SQl सर्वरों में जो उपयोगकर्ता उन डेटाबेस को नहीं देख सकते हैं, जिन्हें मैंने चेक किया गया व्यू डेफिनेशन डेफिनिशन जोड़ा है और त्रुटि डेटाबेस से बचने के लिए डेटाबेस निष्पादन की अनुमति दी है।


जवाब का उपयोग करने के बजाय यह टिप्पणी की जा सकती थी। लेकिन आप अभी तक टिप्पणी नहीं कर सकते। तो haha ​​^^ नहीं है
finnmglas
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.