為 Notification Services 的執行個體設定 Windows 帳戶
更新: 2006 年 4 月 14 日
Notification Services 引擎是 Notification Services 作業的關鍵。這個引擎執行主控的事件提供者、產生器和散發者,它們是用來提交事件、產生通知和散發產生的訊息。這個引擎通常是由 NS$instanceName Microsoft Windows 服務執行,但也可以由另一個應用程式或處理序所主控。
這個引擎是在 Windows 帳戶的內容中執行。如果使用 NS$intanceName Windows 服務,當您註冊 Notification Services 的執行個體時,您可以指定該服務執行時使用的帳戶。如果您要在另一個應用程式或處理序中主控這個引擎,則必須設定應用程式或處理序的 Windows 權限。
引擎所需的 Windows 權限
引擎執行時使用的帳戶必須具有下列權限:
- 在 Notification Services 資料夾 (%ProgramFiles%\Microsoft SQL Server\90\NotificationServices\n.n.nnn) 和子資料夾中讀取及執行的權限。依預設,只有本機 Administrators 和 Power Users 群組中的成員才有權存取這些資料夾內的檔案。當您將服務帳戶加入 Windows SQLServer2005NotificationServicesUser$ComputerName 群組來註冊執行個體時,Notification Services 會授與這些權限。
- 讀取及寫入下列登錄位置登錄機碼的權限:HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Services\NotificationServices 和 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services。當您於註冊執行個體期間建立服務時,這個權限會授與 Windows 服務帳戶。
- 寫入 Windows 應用程式記錄檔的權限。
- 對於使用檔案系統監看員事件提供者的應用程式,事件提供者必須能夠讀取及重新命名其中含有已卸除事件的資料夾內的檔案,且必須對事件結構描述檔案 (.xsd) 具有讀取權。
- 對於使用 File 傳遞通訊協定來公佈通知的應用程式,散發者對於要寫入通知的資料夾必須具有寫入權。
- 對於使用 XSLT 內容格式器的應用程式,散發者必須有權限讀取包含 XSLT 檔的資料夾。如需詳細資訊,請參閱<XSLT 檔案位置>。
此外,引擎帳戶可能需要在本機管理員群組中具有成員資格。如果執行個體主控的應用程式使用本機 Internet Information Services (IIS) Simple Mail Transfer Protocol (SMTP) 服務來傳遞通知,則散發者必須在管理員內容中傳送那些通知。
重要事項: |
---|
在執行個體使用的 SQL Server 資料庫中,這個引擎也必須具有權限。如需詳細資訊,請參閱<為 Notification Services 的執行個體設定 SQL Server 權限>。 |
Windows 服務帳戶類型
如果 Notification Services 的執行個體的引擎不是主控在個別的應用程式或處理序,該執行個體會以 Windows 服務的身分來執行。Windows 服務可以在下列帳戶類型之下執行,不過有些較難管理,因此不建議使用它們:
- **網域使用者帳戶。**網域帳戶更容易控制對網路資源和資料庫的存取,因為您可以指定帳戶應具有的確實權限。若要對授與該服務的權限具有最佳控制,網域管理員可以為 Notification Services 的執行個體建立新帳戶。
- **本機使用者帳戶。**您可以在本機電腦上建立使用者帳戶,並在該帳戶下執行 NS$intanceName 服務。這個帳戶使用 computer\username 格式。如果資料庫是在相同伺服器上,您也可以授與資料庫權限給這個使用者帳戶。如果資料庫是在遠端電腦上,您必須為 Notification Services 的執行個體設定 SQL Server 登入帳戶。
- **NT AUTHORITY\Local Service 帳戶。**這是 Microsoft Windows XP 和 Microsoft Windows Server 2003 可用的內建帳戶。本機服務帳戶對資源和物件具有的存取層級與使用者群組的成員一樣;它可以在沒有認證的情況下,以 NULL 工作階段來存取網路資源。如果資料庫是在相同伺服器上,您可以授與資料庫權限給這個帳戶。不過,Microsoft 不建議對 NS$intanceName 服務使用 Local Service 帳戶。由於多個服務可使用這個帳戶,因此,很難控制哪些服務對 SQL Server 資料庫具有存取權。
- **NT AUTHORITY\Network Service 帳戶。**這是 Windows XP 和 Windows Server 2003 可用的內建帳戶。Microsoft 不建議對 NS$intanceName 服務使用網路服務帳戶。在存取網路資源時,在網路服務帳戶下執行的所有服務會對應至 domain\remotecomputername$ 帳戶。由於多個服務可使用這個帳戶,因此,很難控制哪些服務對網路資源和 SQL Server 資料庫具有存取權。
- **本機系統帳戶。**這是內建帳戶。Microsoft 非常不建議您對 NS$intanceName 服務使用本機系統帳戶,因為這個帳戶對所有本機資源具有不限制的存取權。而且,在存取網路資源時,在本機系統帳戶下執行的所有服務會對應至 domain\remotecomputername$ 帳戶。由於多個服務可使用這個帳戶,因此,很難控制哪些服務對網路資源和 SQL Server 資料庫具有存取權。
指定 Windows 服務的帳戶
您可以在建立服務時設定 NS$intanceName Windows 服務的 Windows 帳戶。您可以在註冊執行個體時建立該服務。您可以重新註冊執行個體或在 Windows 服務管理員中變更帳戶,來更新該帳戶。
- 如何:為引擎元件註冊 Notification Services 執行個體 (SQL Server Management Studio)
- nscontrol register 命令
- RegisterLocal
請參閱
概念
主控 Notification Services 引擎
設定 Notification Services Windows 服務
為 Notification Services 的執行個體設定 SQL Server 權限
其他資源
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 4 月 14 日 |
|