Notification Services 資料庫角色
當您建立 Notification Services 的執行個體時,它會在執行個體和應用程式資料庫中建立資料庫角色。執行個體的引擎、訂閱管理介面、非主控的事件提供者,以及管理人員使用這些角色來取得資料庫的必要權限。
資料庫角色
所有執行個體和應用程式資料庫包含相同的 Notification Services 資料庫角色。下表列出這些角色與其權限。
附註: |
---|
雖然資料庫角色與其權限可由系統管理員 (sysadmin) 固定伺服器角色成員或是 db_owner 或 db_securityadmin 資料庫角色成員變更,Microsoft 建議您不要變更授與這些角色的權限,原因是自訂角色會使有效權限的判定更加困難。 |
角色
權限
NSAnalysis
可以執行產生效能分析與疑難排解報表的預存程序。
這個角色中的使用者可以讀取特定報表可能需要之資料庫中的所有資料表。
這個角色也擁有 NSReader 權限。
NSAdmin
可以啟用和停用執行個體、應用程式及元件。
db_owner 資料庫角色以及系統管理員 (sysadmin) 和資料庫建立者 (dbcreator) 固定伺服器角色的成員,也可以啟用和停用執行個體、應用程式和元件。
NSDistributor
可以執行在通知及散發者工作資料表上執行 SELECT 與 UPDATE 作業的預存程序。
散發者需要授與這個角色的權限。當散發者位於自己的伺服器時,將 Microsoft Windows 服務所用的帳戶加入這個角色中。如果散發者位於和主控的事件提供者及產生器相同的伺服器,請使用 NSRunService 角色。
這個角色也擁有 NSReader 權限。
NSEventProvider
可以執行預存程序,該預存程序會在事件資料表上執行 INSERT 作業,並在事件批次資料表上執行 SELECT、INSERT 及 UPDATE 作業。
事件提供者需要授與這個角色的權限。非主控的事件提供者帳戶應一律使用這個角色。如果主控的事件提供者位於自己的伺服器上,則應使用這個角色。如果主控的事件提供者位於和散發者及產生器相同的伺服器,請使用 NSRunService 角色。
這個角色也擁有 NSReader 權限。
NSGenerator
可以執行產生器所使用的預存程序。
產生器需要授與這個角色的權限。當產生器位於自己的伺服器時,將 Windows 服務所用的帳戶加入這個角色中。如果產生器位於和主控的事件提供者及散發者相同的伺服器,請使用 NSRunService 角色。
使用這個角色的權限,來執行應用程式定義檔案 (ADF) 中的規則。
這個角色也擁有 NSReader 權限。
NSReader
可以執行讀取執行個體和應用程式中繼資料的預存程序。
NSRunService
這個角色擁有 NSEventProvider、NSGenerator、NSDistributor、NSReader、NSMonitor 和 NSVacuumer 角色的結合權限。NS$instance_name Windows 服務需要這些權限來評估訂閱和產生通知。
如果主控的事件提供者、產生器和散發者全部都在一部伺服器上執行,請將這個角色指派到 NS$instance_name Windows 服務所用帳戶,以存取 SQL Server。不然,請透過 NSEventProvider、NSGenerator 和 NSDistributor 角色來指派適當的權限。
NSSubscriberAdmin
可以執行從訂閱者及訂閱相關的資料表中讀取、更新及刪除資料列的預存程序。
訂閱管理應用程式需要授與這個角色的權限。在每個執行個體和應用程式資料庫中,將要存取 SQL Server 的訂閱管理應用程式所用帳戶加入這個角色。
附註:
Notification Services 會自動將訂閱者記錄的刪除,串聯到所有應用程式中所有相關的訂閱,即使刪除訂閱者記錄的使用者沒有應用程式資料庫的存取權。訂閱移除是使用資料庫擁有者的權限來執行。
這個角色也擁有 NSReader 權限。
NSVacuum
可以執行從應用程式資料庫移除已經過時資料的預存程序。將可能需要執行 NSVacuum 預存程序的管理員加入這個資料庫角色中。
這個角色也擁有 NSReader 權限。
若要檢視指派給這些資料庫角色的權限,請使用 sp_helprotect 系統預存程序。
請參閱
概念
部署與管理 Notification Services 所需的權限