Share via


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

本主題描述如何允許非管理員藉由使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中使用複寫監視器。 「複寫監視器」可供身為下列角色成員的使用者使用:

  • 系統管理員 (sysadmin) 固定伺服器角色。

    這些使用者可監視複寫,並且擁有變更複寫屬性的完全控制,例如,代理程式排程、代理程式設定檔等。

  • 散發資料庫中的 replmonitor 資料庫角色。

    這些使用者可監視複寫,但無法變更任何複寫屬性。

本主題內容

  • 開始之前:

    安全性

  • 若要允許非管理員使用複寫監視器,請使用:

    SQL Server Management Studio

    Transact-SQL

開始之前

安全性

權限

若要允許非管理員的人使用「複寫監視器」,系統管理員 (sysadmin) 固定伺服器角色的成員必須將使用者加入至散發資料庫,並將該使用者指派至 replmonitor 角色。

搭配回到頁首連結使用的箭頭圖示[Top]

使用 SQL Server Management Studio

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

  1. 在 SQL Server Management Studio 中連接到散發者,然後展開伺服器節點。

  2. 展開 [資料庫],展開 [系統資料庫],並且展開散發資料庫 (預設名稱為 distribution)。

  3. 展開 [安全性],以滑鼠右鍵按一下 [使用者],再按一下 [新增使用者]

  4. 輸入使用者名稱及使用者的登入。

  5. 選取 [replmonitor] 的預設結構描述。

  6. [資料庫角色成員資格] 方格中選取 [replmonitor]

  7. 按一下 [確定]。

搭配回到頁首連結使用的箭頭圖示[Top]

使用 Transact-SQL

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

  1. 在散發資料庫的散發者端,執行 sp_helpuser (Transact-SQL)。 如果使用者未列於結果集中的 UserName,則必須使用 CREATE USER (Transact-SQL) 陳述式,對使用者授與散發資料庫的存取權。

  2. 在散發資料庫的「散發者」端執行 sp_helprolemember (Transact-SQL),並指定 replmonitor 值給 @rolename 參數。 如果使用者列於結果集中的 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 登入。

    搭配回到頁首連結使用的箭頭圖示[Top]