Sql-Server
允許 .NET 程序檢索 MSDB 表和查看行的數據庫角色
我目前正在編寫一個數據庫管理應用程序,它連接到我的所有數據庫並返回每個數據庫的元數據。使用者目前具有 MSDB 的 db_datareader 角色,但 DataReader .NET 對像在程式碼或 SSMS 中對 sysjobs 或 sp_help_jobs 儲存過程執行查詢後僅包含架構且沒有行。我嘗試在數據庫和對象級別上授予執行和選擇無濟於事。當我給使用者 SA 時,它能夠返回數據,但我不想給使用者 SA。
從系統表中檢索數據並保持最高級別的安全性所需的特定權限是什麼?
嘗試讓您的使用者帳戶成為
msdb
數據庫SQLAgentReaderRole的成員。該角色成員授予的權利如下所述:
https://msdn.microsoft.com/en-us/library/ms188283.aspx
查看SQLAgentReaderRole Permissions下的權限描述。您將看到它有權閱讀有關作業的資訊。這不需要成為
db_datareader
角色的成員。它確實允許使用者列舉作業、查看屬性和查看作業歷史記錄。只有當該帳戶是SQL 代理作業的所有者時,該使用者帳戶才能對作業進行更改。否則,它是只讀的。