管理者以外のユーザーがレプリケーション モニターを使用できるようにする
このトピックでは、SQL Server 2012 で SQL Server Management Studio または Transact-SQL を使用して、管理者以外のユーザーがレプリケーション モニターを使用できるようにする方法について説明します。 レプリケーション モニターは、次のロールのメンバーになっているユーザーが使用できます。
sysadmin 固定サーバー ロール
これらのユーザーはレプリケーションを監視することができ、また、エージェント スケジュール、エージェント プロファイルなどのレプリケーション プロパティの変更に対するフル コントロール権限を持っています。
ディストリビューション データベースの replmonitor データベース ロール
これらのユーザーはレプリケーションを監視できますが、レプリケーション プロパティは変更できません。
このトピックの内容
作業を開始する準備:
セキュリティ
管理者以外のユーザーがレプリケーション モニターを使用できるようにするために使用するもの:
SQL Server Management Studio
Transact-SQL
作業を開始する準備
セキュリティ
権限
管理者以外のユーザーがレプリケーション モニターを使用できるようにするには、sysadmin 固定サーバー ロールのメンバーがディストリビューション データベースにユーザーを追加して、そのユーザーを replmonitor ロールに割り当てる必要があります。
[Top]
SQL Server Management Studio の使用
管理者以外のユーザーがレプリケーション モニターを使用できるようにするには
SQL Server Management Studio で、ディストリビューターに接続し、サーバー ノードを展開します。
[データベース]、[システム データベース] の順に展開してから、ディストリビューション データベース (既定の名前は distribution) を展開します。
[セキュリティ] を展開し、[ユーザー] を右クリックしてから、[新しいユーザー] をクリックします。
ユーザー名とユーザーのログインを入力します。
既定のスキーマ [replmonitor] を選択します。
[データベース ロールのメンバーシップ] の [replmonitor] チェック ボックスをオンにします。
[OK] をクリックします。
[Top]
Transact-SQL の使用
固定データベース ロール replmonitor にユーザーを追加するには
ディストリビューター側のディストリビューション データベースに対して、sp_helpuser (Transact-SQL) を実行します。 対象のユーザーが結果セットの UserName に含まれていなかった場合は、そのユーザーに対し、CREATE USER (Transact-SQL) ステートメントを使って、ディストリビューション データベースへのアクセスを許可する必要があります。
ディストリビューターのディストリビューション データベースで sp_helprolemember (Transact-SQL) を実行します。このとき、@rolename パラメーターには replmonitor を指定します。 対象のユーザーが結果セットの MemberName に含まれていた場合、そのユーザーは既にこのロールに所属しています。
ユーザーが replmonitor ロールに属していなかった場合は、ディストリビューターのディストリビューション データベースで sp_addrolemember (Transact-SQL) を実行します。 @rolename には replmonitor を、@membername には、追加するデータベース ユーザーの名前または Microsoft Windows ログイン名を指定します。
固定データベース ロール replmonitor からユーザーを削除するには
ユーザーが replmonitor ロールに属しているかどうかを確認するには、ディストリビューターのディストリビューション データベースで sp_helprolemember (Transact-SQL) を実行します。このとき、@rolename に replmonitor を指定します。 対象のユーザーが結果セットの MemberName に含まれていなかった場合、そのユーザーは現在、このロールに所属していません。
ユーザーが replmonitor ロールに属していた場合は、ディストリビューターのディストリビューション データベースで sp_droprolemember (Transact-SQL) を実行します。 @rolename には replmonitor を、@membername には削除するデータベース ユーザーの名前または Windows ログイン名を指定します。
[Top]