2013-03-18 14 views
0

我需要通過給予對生產數據庫的充分訪問權限來請求全局組,以便執行對使用數據庫的應用程序的支持。我試圖確定我需要什麼特定的權利。是否有系統角色允許查看數據庫中所有對象的定義?

爲了對所有表執行查詢,我想請求db_datareader訪問權限。我想避免維護確保全局組具有SELECTVIEW DEF訪問所有對象。我知道,如果獲得批准,db_datareader rights將使用戶對所有表格擁有完整的SELECT權限。是否有對應的角色授予查看所有表,存儲過程,視圖等定義的權限?

回答

0
USE [your database] 
EXEC sp_addrolemember 'db_datareader', '[your user name]' 
+0

只是爲了確保:這是否允許用戶讀取包括存儲過程在內的所有對象的讀取權限還是需要DDL_ADMIN權限? – ChadD 2013-03-18 15:35:04

0

定義「足夠的權限訪問生產數據庫」

作爲DBA,我不會給任何DDL管理員或任何類型的接入,使用戶能夠改變在飛行模式中,那是一個食譜一場災難,並會讓你的DBA更加努力工作。 DBA必須且應該能夠幫助解決性能問題,並在正確測試後更改生產模式。如果沒有測試1st,你真的不想改變生產模式。

話雖如此,如果用戶(或多個)要限制訪問解決性能問題(這實際上可以使您的生活更輕鬆),他們可能需要的任何這些:

  • 查看數據庫狀態
  • VIEW SERVER狀態

這兩個,允許訪問DMV,這有助於查明性能問題以及查詢的運行方式。

SELECT,UPDATE,INSERT等是正常的。如果您的數據庫對象(表,視圖,sprocs)不需要細化的權限,我會使用任何默認的數據庫角色並將用戶或用戶放入其中。

運行存儲過程的權限是EXECUTE。

相關問題