管理者以外のユーザーがレプリケーション モニターを使用できるようにする

適用対象: SQL ServerAzure SQL Managed Instance

このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、管理者以外のユーザーが SQL Server でレプリケーション監視を使用できるようにする方法について説明します。 レプリケーション モニターは、次のロールのメンバーになっているユーザーが使用できます。

  • sysadmin 固定サーバー ロール

    これらのユーザーはレプリケーションを監視することができ、また、エージェント スケジュール、エージェント プロファイルなどのレプリケーション プロパティの変更に対するフル コントロール権限を持っています。

  • ディストリビューション データベースの replmonitor データベース ロール

    これらのユーザーはレプリケーションを監視できますが、レプリケーション プロパティは変更できません。

このトピックの内容

始める前に

セキュリティ

アクセス許可

管理者以外のユーザーがレプリケーション モニターを使用できるようにするには、 sysadmin 固定サーバー ロールのメンバーがディストリビューション データベースにユーザーを追加して、そのユーザーを replmonitor ロールに割り当てる必要があります。

SQL Server Management Studio を使用する

管理者以外のユーザーがレプリケーション モニターを使用できるようにするには

  1. SQL Server Management Studio でディストリビューターに接続し、サーバー ノードを展開します。

  2. [データベース][システム データベース]の順に展開してから、ディストリビューション データベース (既定の名前は distribution ) を展開します。

  3. [セキュリティ]を展開し、 [ユーザー]を右クリックしてから、 [新しいユーザー]をクリックします。

  4. ユーザー名とユーザーのログインを入力します。

  5. 既定のスキーマ [replmonitor]を選択します。

  6. [データベース ロールのメンバーシップ][replmonitor] チェック ボックスをオンにします。

  7. [OK] を選択します。

Transact-SQL の使用

固定データベース ロール replmonitor にユーザーを追加するには

  1. ディストリビューターのディストリビューション データベースで sp_helpuser (Transact-SQL) を実行します。 対象のユーザーが結果セットの ユーザー名 に含まれていなかった場合は、そのユーザーに対し、CREATE USER (Transact-SQL) ステートメントを使って、ディストリビューション データベースへのアクセスを許可する必要があります。

  2. ディストリビューターのディストリビューション データベースで sp_helprolemember (Transact-SQL) を実行します。このとき、@rolename パラメーターには値 replmonitor を指定します。 対象のユーザーが結果セットの MemberName に含まれていた場合、そのユーザーは既にこのロールに所属しています。

  3. ユーザーが replmonitor ロールに属していなかった場合は、ディストリビューターのディストリビューション データベースで sp_addrolemember (Transact-SQL) を実行します。 @rolename には値 replmonitor を、@membername には、追加するデータベース ユーザーの名前または Microsoft Windows ログイン名を指定します。

固定データベース ロール replmonitor からユーザーを削除するには

  1. ユーザーが replmonitor ロールに属しているかどうかを確認するには、ディストリビューターのディストリビューション データベースで sp_helprolemember (Transact-SQL) を実行します。このとき、@rolename に値 replmonitor を指定します。 対象のユーザーが結果セットの MemberName に含まれていなかった場合、そのユーザーは現在、このロールに所属していません。

  2. ユーザーが replmonitor ロールに属している場合は、ディストリビューターのディストリビューション データベースで sp_droprolemember (Transact-SQL) を実行します。 @rolename には値 replmonitor を、@membername には、削除するデータベース ユーザーの名前または Windows ログイン名を指定します。