हमारे पास SQL सर्वर पर कई डेटाबेस हैं। हम 1 नया उपयोगकर्ता बनाना चाहते हैं जो डेटाबेस 'सी' देख सकता है लेकिन शेष डेटाबेस नहीं देख सकता है।उपयोगकर्ता बनाएं जो केवल एक डेटाबेस देख सकता है, और केवल उस से चुनें?
यह उपयोगकर्ता केवल इस डेटाबेस से चुनने में सक्षम होना चाहिए, और कुछ भी नहीं।
मैं कुछ समय के लिए Googleिंग और खोज कर रहा हूं, और सबसे नज़दीकी मुझे मिला किसी भी डेटाबेस को देखने से इनकार करना था, और फिर उन्हें डेटाबेस स्वामी बना दिया गया था।
लेकिन मुझे नहीं लगता कि यह उन्हें चुनने के लिए सीमित करने के लिए काम करेगा, जब तक कि मैं डेटाबेस मालिक पर चयन करने के अलावा सबकुछ अस्वीकार कर सकता हूं?
किसी भी मदद के लिए अग्रिम धन्यवाद!
संपादित करें: SQL सर्वर 2008 R2, वैसे भी।
संपादित 2: क्षमा करें, मैं अपनी मूल पोस्ट में स्पष्ट नहीं था। जब मैं लॉग इन करता हूं तो मैं इसे बनाने के लिए देख रहा हूं, वे अन्य डेटाबेस के नाम भी नहीं देख पाएंगे, न कि वे उन्हें एक्सेस नहीं कर सकते हैं।
धन्यवाद।
याद रखें कि 2008 में सभी उपयोगकर्ताओं को "सार्वजनिक" सर्वर-स्तर की भूमिका दी जाती है जिसे हटाया नहीं जा सकता है। यदि आप केवल उन्हें एक डेटाबेस देखना चाहते हैं, और आप संग्रहीत प्रक्रियाओं या अन्य मध्यम स्तर के माध्यम से अपनी पहुंच को सीमित नहीं कर सकते हैं, तो आपको अन्य सभी डेटाबेस सार्वजनिक भूमिका में लेना होगा (जो हर किसी को गड़बड़ कर सकता है)। –
मुझे गलतफहमी हो सकती है, या हो सकता है कि मैं अपने मूल पोस्ट में अभी स्पष्ट नहीं हो सकता। मेरा मतलब था कि उपयोगकर्ता अन्य डेटाबेस को देखने में सक्षम नहीं होना चाहिए जैसे कि वे प्रबंधन स्टूडियो में लॉग इन करते हैं, अन्य डेटाबेस भी दिखाई नहीं देंगे। इसके साथ, वे अभी भी दिखाई देंगे, और वे डेटाबेस में प्रवेश करने में सक्षम नहीं होंगे, सही? क्या इसे बनाने के लिए वैसे भी है ताकि वे डेटाबेस भी नहीं देख सकें? – Kyle
"आपको सार्वजनिक (एसक्यूएल सर्वर 2005 के बाद) की भूमिका से 'किसी भी डाटाबेस' अनुमति को रद्द करने की आवश्यकता होगी। मैंने चुरा लिया [एक और पोस्ट ...] (http://stackoverflow.com/questions/935018/hide-sql-database-from-management-studio)। अधिक जानकारी के लिए वहां एक नज़र डालें। –