web-dev-qa-db-ja.com

sp_Blitzを実行するために必要な最小限の権限

SQL 2016のGlenn BerryのDr DMVセットからsp_Blitzと一連のDMVクエリを実行する必要があります。BrentOzar.comのsp_Blitzのドキュメントには「Sysadmin権限があります。sp_Blitz®は多くのシステムをチェックします-レベルの診断データ。」

Sysadminは本当に最低限必要なアクセス許可レベルですか、それともより制限されたアクセス許可レベルでこれを実行できる人がいますか?

クライアントの本番サーバーでsysadmin権限を要求するのをやめるかどうかはわかりません。

6
SQLBadPanda

はい、sa権限が必要です。ただし、これはストアドプロシージャであるため、 certificate を使用して権限を取得できます。

セクションを参照してください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

その後、プロシージャを更新するたびに、署名を再度追加して、権限を再割り当てする必要があります。

ADD SIGNATURE TO sp_BlitzFirst BY CERTIFICATE sp_BlitzFirst_cert
WITH PASSWORD = 'Get lucky';
GO
GRANT EXECUTE ON dbo.sp_BlitzFirst TO [public];
GO

お役に立てれば!

10
Erik Darling