मुझे VIEW DEFINITIONअपने एक उपयोगकर्ता के लिए स्कीमा स्तर पर उचित रूप से अनुमति सेट करने में समस्या आ रही है । मैंने स्कीमा बनाया है TestSchemaऔर कुछ तालिकाओं को जोड़ा है। उपयोगकर्ता वर्तमान में अनुमतियाँ पहुंच के लिए सेट और तालिका (संशोधित है SELECT, UPDATE, DELETEके माध्यम से, आदि) dbo_datareaderऔर dbo_datawriterभूमिकाओं। हालाँकि, वे SSMS ऑब्जेक्ट एक्सप्लोरर में किसी भी तालिकाओं को नहीं देख सकते हैं।
मैंने परिभाषाएँ देखने के लिए अनुमति देने का प्रयास किया है:
grant view definition on SCHEMA :: [TestSchema] to [User]
यह काम नहीं किया। मैंने तालिका-स्तरीय अनुमति सेट करने का प्रयास किया:
grant view definition on [TestSchema].[NewTable] to [User]
वह भी काम नहीं किया। फिर मैंने सिर्फ एक कंबल अनुदान की कोशिश की:
grant view definition to [User]
और वह किया था काम; वे अब देख सकते हैं TestSchema, साथ ही साथ उन अन्य स्कीमाओं तक भी पहुँच सकते हैं जिनकी उन्हें पहुँच नहीं होनी चाहिए।
यहां मेरा लक्ष्य उपयोगकर्ता को किसी दिए गए स्कीमा के भीतर सभी तालिकाओं को देखने की अनुमति देना है। मैं इसे कैसे पूरा करूं? अगर मुझे यह डिफ़ॉल्ट रूप से करने में सक्षम होना चाहिए, तो मुझे क्या अनुमतियाँ मिलनी चाहिए जो मुझे नहीं मिल सकती हैं?