मेरे पास कुछ डेटाबेस के साथ SQL Server 2012 का उदाहरण है। उनमें से एक में मैंने एक दृश्य बनाया, जो एक डेटाबेस से अधिक में तालिकाओं का चयन करता है।
मैं चाहता हूं कि कोई उपयोगकर्ता उस दृश्य का चयन करने में सक्षम हो, लेकिन उसे अपनी तालिकाओं का चयन नहीं करना चाहिए। दृश्य बिल्कुल बनाया गया था क्योंकि उपयोगकर्ता तालिकाओं का चयन नहीं कर सकता है।
मैंने /programming/368414/grant-select-on-a-view-not-base-table और http://msdn.microsoft.com/en-us/library/ms188676 पढ़ा है । aspx और अभी भी यह काम नहीं कर रहा है।
यदि मैं GRANT SELECT TABLE TO USER
सभी तालिकाओं का उपयोग करता हूं , तो उपयोगकर्ता दृश्य का चयन करने में सक्षम है। लेकिन अगर मैं किसी भी तालिका को रद्द करता हूं, तो यह विफल हो जाता है।
यह करने के लिए एक आसान प्रक्रिया होनी चाहिए, लेकिन मुझे इसे बनाने में परेशानी हो रही है। मैंने पहले भी ऐसा होता देखा है (एक उदाहरण के मालिक ने मुझे एक दृश्य तक पहुंच प्रदान की और इसे अपनी तालिकाओं के लिए नहीं किया) लेकिन मैं ऐसा करने में असमर्थ हूं या किसी ऐसे व्यक्ति को ढूंढ सकता हूं जो जानता है कि कैसे।
क्या कोई मुझे यह करने के लिए एक ट्यूटोरियल प्रदान कर सकता है, या एक कोड उदाहरण?
उपयोगकर्ता SELECTs
को जब मुझे संदेश दिखाई देता है:
ऑब्जेक्ट
<TABLE>
, डेटाबेस<DB>
, स्कीमा पर SELECT अनुमति को अस्वीकार कर दिया गया थाdbo
।
यदि मैं उस तालिका का चयन करता हूं, तो त्रुटि संदेश तालिका का नाम बदलकर किसी अन्य तालिका में दृश्य को पढ़ता है।