[SQL Server] publicユーザーにSQL Agent/JOB/ジョブ情報が見えるように権限を設定する方法

inno
2014-09-05 10:55 2122 0
MS-SQL / SQL SERVER
publicユーザーに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

コメント