क्या निम्न आदेश प्रभावी रूप से उपयोगकर्ता, "MyUser," डेटाबेस में सभी संग्रहीत प्रक्रियाओं को निष्पादित करने की अनुमति देता है?
GRANT EXECUTE TO [MyDomain\MyUser]
क्या निम्न आदेश प्रभावी रूप से उपयोगकर्ता, "MyUser," डेटाबेस में सभी संग्रहीत प्रक्रियाओं को निष्पादित करने की अनुमति देता है?
GRANT EXECUTE TO [MyDomain\MyUser]
जवाबों:
SQL सर्वर 2008 और उससे अधिक:
/* CREATE A NEW ROLE */
CREATE ROLE db_executor
/* GRANT EXECUTE TO THE ROLE */
GRANT EXECUTE TO db_executor
केवल एक उपयोगकर्ता के लिए (भूमिका नहीं):
USE [DBName]
GO
GRANT EXECUTE TO [user]
user
वर्ग वर्गाकार कोष्ठक में होना चाहिए। यह मेरे उपयोग के मामले में कम से कम भाग में सही था क्योंकि मेरे उपयोगकर्ता के पास एक डोमेन जुड़ा हुआ था (यानी इसमें उसका एक चरित्र था)। संपादित करें: फिक्स्ड
SQL सर्वर 2005 ने डेटाबेस सिद्धांत को अनुमति देने की क्षमता पेश की , जैसा कि आपने वर्णित किया है:
GRANT EXECUTE TO [MyDomain\MyUser]
वह डेटाबेस स्कोप पर अनुमति देगा, जिसमें निहित रूप से सभी स्कीमाओं में सभी संग्रहीत कार्यविधियाँ शामिल हैं। इसका मतलब है कि आपको प्रति संग्रहीत कार्यविधि के लिए स्पष्ट रूप से अनुमति नहीं देनी होगी।
यदि आप अधिक बारीक होना चाहते हैं, तो आप स्कीमा निष्पादित अनुमतियाँ प्रदान करके भी प्रतिबंधित कर सकते हैं :
GRANT EXECUTE ON SCHEMA ::dbo TO [MyDomain\MyUser]
उपरोक्त उत्तरों के अलावा, मैं जोड़ना चाहूंगा:
आप इसके बजाय इसे एक भूमिका देना चाहते हैं , और फिर उपयोगकर्ता को भूमिका सौंप सकते हैं। मान लीजिए आप एक भूमिका बनाया है myAppRights
के माध्यम से
CREATE ROLE [myAppRights]
तो आप के माध्यम से निष्पादित अधिकार दे सकते हैं
GRANT EXECUTE TO [myAppRights]
उस भूमिका के लिए।
या, यदि आप स्कीमा स्तर पर करना चाहते हैं :
GRANT EXECUTE ON SCHEMA ::dbo TO [myAppRights]
यह भी काम करता है (इस उदाहरण में, भूमिका myAppRights
को स्कीमा के सभी तत्वों पर dbo
बाद में अधिकार निष्पादित होगा )।
इस तरह, आपको केवल इसे एक बार करना होगा और किसी उपयोगकर्ता को / से सभी संबंधित एप्लिकेशन अधिकारों को आसानी से असाइन / निरस्त कर सकते हैं यदि आपको बाद में इसे बदलने की आवश्यकता है - विशेष रूप से उपयोगी यदि आप अधिक जटिल एक्सेस प्रोफाइल बनाना चाहते हैं।
नोट: यदि आप एक स्कीमा को एक भूमिका प्रदान करते हैं, जो आपके द्वारा बाद में बनाए गए तत्वों को भी प्रभावित करता है - यह आपके द्वारा इच्छित डिज़ाइन के आधार पर फायदेमंद हो सकता है या नहीं, इसलिए इसे ध्यान में रखें।
अनुदान प्राप्त करने के लिए [रोल]
यह निश्चित रूप से मदद करता है