Sql-Server
執行 sp_Blitz 所需的最低權限
我需要執行
sp_Blitz
Glenn Berry 的 Dr DMV 為 SQL 2016 設置的一堆 DMV 查詢sp_Blitz
。BrentOzar.com 上的文件指出“系統管理員權限。sp_Blitz® 檢查大量系統級診斷數據。”sysadmin 真的是最低要求的權限級別,還是有人能夠以更嚴格的權限級別執行它?
不確定我是否會在客戶端的生產伺服器上請求系統管理員權限。
是的,它需要 sa 權限。但是由於它是一個儲存過程,您可以通過證書獲取權限
請參閱如何向非 DBA 授予權限部分
USE master; GO CREATE CERTIFICATE sp_BlitzFirst_cert ENCRYPTION BY PASSWORD = '5OClockSomewhere' WITH SUBJECT = 'Certificate for sp_BlitzFirst', START_DATE = '20130711', EXPIRY_DATE = '21000101'; GO CREATE LOGIN sp_BlitzFirst_login FROM CERTIFICATE sp_BlitzFirst_cert; GO CREATE USER sp_BlitzFirst_login FROM CERTIFICATE sp_BlitzFirst_cert; GO GRANT EXECUTE ON dbo.sp_BlitzFirst TO sp_BlitzFirst_login; GO GRANT CONTROL SERVER TO sp_BlitzFirst_login; GO ADD SIGNATURE TO sp_BlitzFirst BY CERTIFICATE sp_BlitzFirst_cert WITH PASSWORD = '5OClockSomewhere'; GO GRANT EXECUTE ON dbo.sp_BlitzFirst TO [public]; GO
然後,每當您更新 proc 時,您都需要通過再次添加簽名來重新分配權限:
ADD SIGNATURE TO sp_BlitzFirst BY CERTIFICATE sp_BlitzFirst_cert WITH PASSWORD = 'Get lucky'; GO GRANT EXECUTE ON dbo.sp_BlitzFirst TO [public]; GO
希望這可以幫助!