如何檢查用戶是否可以在MS SQL服務器中執行存儲過程?MS SQL Server:檢查用戶是否可以執行存儲過程
我可以看到,如果用戶已經明確通過連接到主數據庫,並執行執行權限:但是
databasename..sp_helpprotect 'storedProcedureName', 'username'
如果用戶是具有執行權限則sp_helprotect不會幫我一個角色的成員。
理想情況下,我想能夠調用類似
databasename..sp_canexecute 'storedProcedureName', 'username'
這將返回一個布爾值。
另外,如果你使用SQL Server 2005或以上,並允許被分配到架構或數據庫(EXECUTE可以了),則sp_helprotect不會報告它。存儲過程僅包含向後兼容性,並根據SQL Server 2000中的內容報告權限。 – 2009-01-27 19:18:19