[SQL Server] SQL Agent/JOB/ジョブ情報を閲覧できる権限を設定する方法 / GRANT JOB HISTORY VIEW

inno
2014-01-23 16:03 2930 0
ユーザーにSQL Agent/JOB/ジョブ情報を閲覧できる権限を設定する方法。

-.ジョブリスト
-.ジョブ情報/ステップ情報/スケジュール情報の確認
-.ジョブ実行履歴(JOB HISTORY)

などなどJOBの情報を確認することができます。

設定する方法は下記のSQLをとおりです。

USE [msdb]
GO

CREATE USER [ユーザー名] FOR LOGIN [ユーザー名] WITH DEFAULT_SCHEMA=[dbo]
GO

EXEC sp_addrolemember @rolename = 'SQLAgentReaderRole', @membername = 'ユーザー名'
GO

例えば、「webuser」というユーザーに設定するとしたら下記のようになります。

USE [msdb]
GO

CREATE USER [webuser] FOR LOGIN [webuser] WITH DEFAULT_SCHEMA=[dbo]
GO

EXEC sp_addrolemember @rolename = 'SQLAgentReaderRole', @membername = 'webuser'
GO

「msdb」データベースから実行します。
「msdb」には基本的に「SQLAgentReaderRole」ロールが存在しており、
ユーザーにそのロールを設定することによって設定は終わります。

また、設定されている「SQLAgentReaderRole」を削除するためには「sp_droprolemember」を使います。

USE [msdb]
GO

EXEC sp_droprolemember @rolename = 'SQLAgentReaderRole', @membername = 'ユーザー名'
GO


-- 関連語
GRANT JOB HISTORY VIEW
GRANT SQLAGENT VIEW
grant sqlagentoperatorrole sql server 2008
sql server grant view job history

コメント