लापता अधिकारों के कारण knb का जवाब मेरे लिए काम नहीं करता है। (वर्तमान की जगह किसी दूसरे उपयोगकर्ता के लिए एक समाधान)
डेटाबेस प्रिंसिपल के रूप में नहीं चलाया जा सकता क्योंकि प्रिंसिपल "मेरे उपयोगकर्ता" मौजूद नहीं है, प्राचार्य के इस प्रकार प्रतिरूपित नहीं किया जा सकता है, या आप की जरूरत नहीं है अनुमति।
यह answer दिखाता है कि कैसे संग्रहित प्रक्रियाओं की सूची किसी विशेष डेटाबेस उपयोगकर्ता ('मेरे उपयोगकर्ता') अनुमति स्पष्ट रूप से दी गई निष्पादित है जिस पर प्राप्त करने के लिए:
SELECT [name]
FROM sys.objects obj
INNER JOIN sys.database_permissions dp ON dp.major_id = obj.object_id
WHERE obj.[type] = 'P' -- stored procedure
AND dp.permission_name = 'EXECUTE'
AND dp.state IN ('G', 'W') -- GRANT or GRANT WITH GRANT
AND dp.grantee_principal_id =
(SELECT principal_id
FROM sys.database_principals
WHERE [name] = 'my user')
मैं इसे संशोधित रूप में प्राप्त करने के लिए इस प्रकार है सूची मैं की जरूरत है:
SELECT [name]
FROM sys.procedures
WHERE [name] NOT IN
(SELECT [name]
FROM sys.objects obj
INNER JOIN sys.database_permissions dp ON dp.major_id = obj.object_id
WHERE obj.[type] = 'P' -- stored procedure
AND dp.permission_name = 'EXECUTE'
AND dp.state IN ('G', 'W') -- GRANT or GRANT WITH GRANT
AND dp.grantee_principal_id =
(SELECT principal_id
FROM sys.database_principals
WHERE [name] = 'my user'))
Microsoft SQL सर्वर पर परीक्षण किया गया 2008 R2
मैं संग्रहीत proc की स्क्रिप्ट देख सकते हैं "स्क्रिप्ट संग्रहीत प्रक्रिया के रूप में" का उपयोग करके "-" बनाएं "; लेकिन has_view_definition "0" के रूप में आ रहा है। हम इसे कैसे ठीक कर सकते हैं? – Lijo
क्या आप ['SELECT * से sys.fn_my_permissions ('', 'ऑब्जेक्ट') '] (http://msdn.microsoft.com/en-us/library/ms176097.aspx) चला सकते हैं और परिणाम यहां पोस्ट कर सकते हैं? –
बीटीडब्लू, मेरी क्वेरी अन्य स्कीमा में प्रक्रियाओं को संभालती नहीं है, न कि डीबीओ। आप आसानी से इसे स्वयं ठीक कर सकते हैं। –