एकल निहित डेटाबेस के लिए उपयोगकर्ता बनाना


9

मैं MSSQL के साथ बहुत नया काम कर रहा हूँ और इस समय 2012 संस्करण है। मैं जो करने की कोशिश कर रहा हूं वह एक निहित डेटाबेस के लिए एक उपयोगकर्ता बना रहा है, और उस उपयोगकर्ता को केवल उस डेटाबेस तक पहुंच प्रदान करता है।

मैं एक तैयार कथन का उपयोग करके JAVA से इस एसक्यूएल का आह्वान करूंगा।

जवाबों:


12

डेटाबेस में प्रमाणीकृत SQL Server 2012 में एक निहित उपयोगकर्ता बनाने के लिए , आप निम्न कार्य कर सकते हैं:

use YourDatabase
go

create user YourContainedUser
with password = 'yourPassword'
go

आपको यह सुनिश्चित करना होगा कि contained database authenticationपहले उदाहरण पर सक्षम किया गया है, और डेटाबेस आंशिक नियंत्रण के साथ सेट किया गया है:

exec sp_configure 'contained database authentication', 1
go
reconfigure
go

alter database YourDatabase
set containment = partial
go

एक बार ऊपर दिए गए आदेशों को निष्पादित कर लेने के बाद, आपको ऊपर CREATE USERबताए अनुसार कथन के साथ अपना निहित उपयोगकर्ता बनाने में सक्षम होना चाहिए ।

संपादित करें : @AaronBertrand द्वारा शानदार टिप्पणी और अंक:

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


सभी मदद के लिए धन्यवाद, टिप्पणी करने के लिए एक बात है, जबकि मैं जावा जेडीबीसी के बयानों के साथ ऐसा करने की कोशिश कर रहा था। मैं तैयारी करने वालों के साथ ऐसा करने में सक्षम नहीं था, JDBC इससे नाखुश था। इसलिए मैंने एक बयान के रूप में एक संक्षिप्त स्ट्रिंग का उपयोग किया।
इमलन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.