允許非管理員使用複寫監視器

適用於:SQL ServerAzure SQL 受控執行個體

此主題說明如何使用 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. 選取 [確定]。

使用 TRANSACT-SQL

若要將使用者加入至 replmonitor 固定資料庫角色

  1. 在散發資料庫的「散發者」端,執行 sp_helpuser (Transact-SQL)。 如果使用者未列於結果集中的 UserName,則必須使用 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)。 針對 replmonitor @rolename @rolename 的值,並指定資料庫使用者的名稱或針對 @membername中使用複寫監視器。