SQL सर्वर 2008 डिफ़ॉल्ट स्कीमा का सम्मान नहीं किया जा रहा है?


9

हमने परीक्षण उद्देश्यों के लिए सिर्फ एक SQL 2008 डेटाबेस को दूसरे सर्वर पर कॉपी किया है। विशिष्ट उपयोगकर्ता जो एक निश्चित स्कीमा में कुछ वस्तुओं का उपयोग करता है। मान लें कि यह उपयोगकर्ता fooऔर स्कीमा है bar

fooडिफ़ॉल्ट स्कीमा barउदाहरण और डेटाबेस स्तर दोनों पर है। हालाँकि, जब इसमें fooलॉग barपूरी तरह से योग्य नाम का उपयोग किए बिना स्कीमा में कोई भी ऑब्जेक्ट नहीं मिल सकता है ।

डिफ़ॉल्ट स्कीमा यहां काम क्यों नहीं करेगा?

जवाबों:


13

SQL सर्वर पर foo उपयोगकर्ता sysadmin अधिकार है? क्योंकि अगर ऐसा होता है तो किसी भी sysadmin उपयोगकर्ता के पास डिफ़ॉल्ट रूप से निर्दिष्ट स्कीमा dbo होगा , जो स्वतंत्र रूप से एक विशिष्ट डेटाबेस के लिए उपयोगकर्ता के गुणों में सेट है।

इसलिए, डिफ़ॉल्ट स्कीमा के लिए उपयोगकर्ता को डेटाबेस भूमिकाएं जैसे db_owner, db_datawriter और इतने पर, सर्वर रोल sysadmin के बजाय की आवश्यकता होती है।

मुझे बताएं कि क्या यह आपका मामला नहीं है।


1
आप एक भगवान हैं और मैं आपके ज्ञान को नमन करता हूं, जब तक मैं इस से टकरा नहीं गया, मैं हैरान था!
जेन्स

1

एक और परिदृश्य जिसमें यह समस्या हो सकती है (SQL 2008 R2) ...

मेरे पास SQL ​​प्रमाणीकरण लॉगिन से जुड़ा एक उपयोगकर्ता था, जिसे मैं एक मौजूदा स्कीमा के साथ जोड़ना चाह रहा था। लॉगिन में sysadmin अधिकार नहीं था , इसलिए उपरोक्त समाधान से मदद नहीं मिली।

मैंने अंततः पता लगाया कि डेटाबेस अभी भी SQL 2000 संगतता मोड में कॉन्फ़िगर किया गया था। SQL 2005 में परिवर्तन से समस्या हल हो गई।


अजीब बात है, मुझे यह समस्या लगती है (उपयोगकर्ता एक SQL प्रमाणीकरण लॉगिन से जुड़ा है, कि मैं एक मौजूदा स्कीमा के साथ जुड़ने की कोशिश कर रहा था), मेरी संगतता स्तर को छोड़कर 'SQL Server 2016 (130)' है
tbone

0

यह मान लेगा कि नए सर्वर पर डिफ़ॉल्ट स्कीमा dbo है; यदि स्कीमा को डेटाबेस के साथ कॉपी नहीं किया गया है।

समाधान नहीं, लेकिन शायद इससे मदद मिल सकती है, एमएसडीएन लेख पर एक नज़र डालते हुए। http://msdn.microsoft.com/en-us/library/dd283095.aspx


हमने fooनए सर्वर के लिए डिफ़ॉल्ट स्कीमा को कॉन्फ़िगर किया है। इसे barइंस्टेंस यूजर और डेटाबेस यूजर लेवल दोनों पर सेट किया गया है।
जॉन क्रोमाट्री
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.