*************************************************************** Microsoft SQL Server Notification Services 讀我檔案 2002 年 8 月 9 日 *************************************************************** (c) Copyright Microsoft Corporation, 2002。著作權所有,並保留一 切權利。 此檔案包含補充 Microsoft SQL Server Notification Services 文件 的資訊 *************************************************************** 內容 *************************************************************** 1.0 簡介 1.1 存取 Notification Services 文件 2.0 安裝 SQL Server 2000 2.1 硬體與軟體需求 2.2 安裝 Notification Services 2.3 執行 Notification Services 範例 2.4 解除安裝 Notification Services 3.0 產品及文件注意事項 3.1 疑難排解:SSL 安全性錯誤 3.2 執行 NSControl 升級程式之前,先停用執行個體 3.3 EventCollector.Write 方法並未傳回數值 3.4 不要使用摘要傳送大量的通知批次 3.5 文件中不正確的事件來源名稱 3.6 疑難排解:安裝程式已完成,但未安裝 Notification Services 3.7 事件訊息指出找不到事件訊息 DLL 3.8 加密引數機碼為字元字串 3.9 停用訂閱者將停用執行個體 *************************************************************** 1.0 簡介 *************************************************************** 此檔案包含您在使用 Notification Services 之前必須閱讀的重要資 訊。 *************************************************************** 1.1 存取 Notification Services 文件 *************************************************************** Notification Services 文件由「安裝程式」安裝。您可以只安裝文件, 而不安裝 Notification Services,這讓您能在安裝 Notification Services 之前,閱讀安裝指示並了解「安裝程式」選項。 *************************************************************** 2.0 安裝 *************************************************************** 「Notification Services 安裝程式」能安裝 5 組元件及 1 子元件: * 引擎元件,用來執行 Notification Services 事件收集、產生、格式 化及傳送等功能。這些元件必須安裝在所有執行上述任一功能的伺服 器上。 * 用戶端元件,它必須安裝在主控獨立事件提供者及訂閱管理應用程式 的伺服器上。這些元件包含獨立事件提供者及訂閱管理應用程式所使 用的介面。也會安裝用來管理 Notification Services 執行個體的 NSControl 公用程式,來作為用戶端元件的一部份。 * 如果您要使用 SQLXML 大量載入程式來將 XML 資料提交到 SQL Server 2000,則必須與用戶端元件同時安裝「大量事件提交」 子元件。 * 資料庫元件,它必須安裝在 SQL Server 2000 資料庫引擎系統上。 資料庫元件包括用來產生通知的擴充預存程序。 * 文件,其可安裝在任何您想要有 Notification Services 文件之存取 權的地方。 * 一組您能用來熟悉 Notification Services 的範例應用程式。您可在 Microsoft Visual Studio .NET 中執行這些範例。 您可以將所有元件安裝在一部伺服器上,或是視需要將元件安裝在不同 的伺服器上。 ------------------ 2.1 硬體與軟體需求 ------------------ 在安裝 Notification Services 之前,請確定您的電腦符合下列需求: 核心元件所需硬體 =============================================================== * 電腦 至少需為 Pentium 450 MHz, 建議配置 Pentium 733 MHz 或更快的處理器。 * 記憶體 (RAM) 至少需為 128 MB, 建議配置 256 MB 或以上的空間。 * 硬碟空間 Notification Services 元件:10 MB。 如果資料庫與 Notification Services 在同 一伺服器上,則將視資料庫表格、記錄檔及暫 存資料庫表格的不同而需要額外的硬碟空間。 引擎元件所需軟體 =============================================================== * 作業系統 Microsoft Windows(R)2000 (或更新版本) 或 Windows XP Professional。 * Microsoft Data MDAC 版本 2.6 或更新版本, Access Components 此為安裝 Microsoft .NET Framework 所需; (MDAC) 也是 Microsoft SQLXML 所需。 * SQL Server 2000 SQL Server 2000 用戶端工具,為 SQLXML 所 用戶端工具 需。 * Microsoft SQLXML SQLXML 版本 3.0 或更新版本。 Microsoft 建議配置 SQLXML 3.0 SP1 或更新 版本。 * .NET Framework .NET Framework 版本 1.0.3705 或更新版本。 若要取得 MDAC、MSXML 及 SQLXML,請移至 http://www.microsoft.com/downloads。 用戶端元件所需軟體 =============================================================== * 作業系統 Microsoft Windows 2000 SP2 (或更新版本) 或 Windows XP Professional。 * Microsoft Data MDAC 版本 2.6 或更新版本, Access Components 此為安裝 .NET Framework 所需; (MDAC) 也是 SQLXML 所需。 * .NET Framework .NET Framework 版本 1.0.3705 或更新版本。 大量事件提交子元件所需軟體 =============================================================== * SQL Server Tools SQL Server 2000 用戶端工具,為 SQLXML 所 需。 * Microsoft SQLXML SQLXML 版本 3.0 或更新版本。 Microsoft 建議配置 SQLXML 3.0 SP1 或更新 版本。 資料庫元件所需軟體 =============================================================== * SQL Server SQL Server 2000 Standard Edition、 SQL Server 2000 Enterprise Edition、 或 SQL Server 2000 Developer Edition Microsoft 建議配置 SQL Server 2000 最新的 Service Pack。 文件所需的軟體 =============================================================== * Internet 軟體 Microsoft Internet Explorer 5.01 或更新 版本。 範例所需軟體 =============================================================== * 開發工具 所有範例都是以 Visual Studio .NET 解決方 案的解決方案 (.sln) 檔來呈現。 您不需要 Visual Studio. NET 也能使用範 例;不過,那就必須使用文字編輯器或其他 XML 編輯器來編輯檔案。 * Internet Information 執行該範例的系統必須已安裝且正在執行 Services (IIS) Internet Information Services (IIS) 5.0 或更新版本。包括 Simple Mail Transfer Protocol (SMTP) 服務、 World Wide Web Publishing 服務及 IIS Admin 服務。 ------------------------------ 2.2 安裝 Notification Services ------------------------------ 安裝注意事項: * 若要執行「Notification Services 安裝程式」,您所使用的帳號 必須是本機「系統管理員」群組的成員。若要安裝資料庫元件,則 您使用的帳戶或在安裝過程中指定的帳戶,必須是 SQL Server 系統管理員 (sysadmin) 固定伺服器角色的成員。 * 必須在本機執行安裝。遠端安裝無法使用。 * 當您安裝資料庫元件時,請確定 SQL Server 2000 資料庫引擎 正在執行中。「安裝程式」不會嘗試啟動 SQL Server。 安裝指示: 1. 執行 MicrosoftSQLServerNotificationServices.exe。 2. 在「自訂安裝」畫面中,選取您要安裝的元件。請確定系統符 合以上所列的軟體需求。如果系統不符合某一元件的需求,則 將無法安裝該元件。 除非您所要安裝的元件無法使用,否則無需採取更正步驟。 3. 如果要安裝資料庫元件,請在「資料庫元件安裝程式」及 「SQL Server 登入資訊」畫面中,輸入其他資訊: * 如果您有多個已安裝之 SQL Server 資料庫引擎的執行個體, 請在「資料庫元件安裝程式」畫面選取執行個體。 您可以使用 InstallXPs 公用程式,以在其他執行個體上 安裝元件。 * 在「SQL Server 登入資訊」畫面上,選取用來登入 SQL Server 驗證型別。若是使用「SQL Server 驗證」,則請輸入您的使用 者名稱及密碼。 4. 在「已完成安裝程式的準備工作」畫面上,請按一下「安裝」。 ----------------------------------- 2.3 執行 Notification Services 範例 ----------------------------------- 當您安裝範例應用程式時,「安裝程式」會將範例應用程式新增到 Notification Services Vn.n.n.n\Samples 資料夾。 若需範例應用程式的相關資訊,請檢視 SQL Server Notification Services Samples 網頁。此網頁可以 從 [開始] 功能表取得。在 [開始] 功能表上,指向 [程式集], 再指向 [Microsoft SQL Server Notification Services]。 ---------------------------------- 2.4 解除安裝 Notification Services ---------------------------------- 解除安裝 Notification Services: 1. 從 Samples 資料夾中,執行 RemoveSamplesDB.cmd 來刪除 任何使用您將要移除之 Notification Services 版本的範例。 2. 停止所有使用您將要移除之版本的 Notification Services 執行個體。若要停止執行個體,請執行下列命令: net stop NS$ 3. 若是使用「SQL 驗證」,請執行 UninstallXPs.cmd 來移除 資料庫元件。解除安裝並不會顯示要求 SQL Server 使用者 名稱及密碼的提示。UninstallXPs 指令碼允許您提供此資訊。 4. 按一下 [控制台] 中的 [新增/移除程式]。 5. 選取 [Microsoft SQL Server Notification Services],再 按一下 [移除]。 6. 遵循畫面上的指示。 *************************************************************** 3.0 產品及文件注意事項 *************************************************************** 這些是《Notification Services 線上叢書》文件完成後所發生的問題。 ---------------------------- 3.1 疑難排解:SSL 安全性錯誤 ---------------------------- 如果您在建立執行個體或執行 NS$ 服務時, 接收到事件記錄檔中的 SSL 安全性錯誤,則 Notification Services 可能無法連線到 SQL Server 2000。 造成此錯誤的原因可能是下列問題: * 如果「憑證伺服器」是安裝在 Microsoft Windows 2000 電腦上, 而且憑證授權單位 (CA) 名稱與主機名稱相同或開頭一樣, 則連線到 SQL Server 2000 的嘗試可能會失敗。 若要解決此問題,請使用 SQL Server 2000 的最新 Service Pack。 若需相關資訊,請到 Microsoft 產品支援服務網站,搜尋位於 http://support.microsoft.com 的 Knowledge Base 文章 Q302409。 * 如果連線到執行 SQL Server 之目標伺服器,或連線到驗證 Windows 認證之伺服器的網路連線速度很慢,則 Notification Services 嘗 試連線到 SQL Server 可能會失敗。此問題只會發生在當您將 Secure Sockets Layer (SSL) 憑證安裝在執行 SQL Server 的電腦, 且該 SSL 憑證符合執行加密的需求。 若要解決此問題,請至 Microsoft 產品支援服務網站 (http://support.microsoft.com) 並遵循 Knowledge Base 文章 Q322144 中的指示。 ----------------------------------------------- 3.2 執行 NSControl 升級程式之前,先停用執行個體 ----------------------------------------------- 在執行 NSControl 升級程式以將 Notification Services 執行個體 從標準版升級到企業版之前,請先停用執行個體,再解除安裝標準版。 使用下列步驟來從標準版升級到企業版: 1. 使用 NSControl Disable 命令來停用所有使用標準版的執行 個體。 2. 使用 Net Stop 命令來停止對應的 NS$ 服務。 3. 解除安裝 Notification Services Standard Edition。 4. 安裝 Notification Services Enterprise Edition。 5. 使用 NSControl Upgrade 來將每一個使用標準版的執行個體 升級到企業版。 6. 使用 NSControl Enable 來啟用全部您所升級的執行個體。 7. 使用 Net Start 命令來啟動相對應的 NS$ 服務。 ----------------------------------------- 3.3 EventCollector.Write 方法並未傳回數值 ----------------------------------------- 「EventCollector.Write 方法」主題顯示該方法將傳回整數值。 但 EventCollector.Write 並未傳回數值。此方法的更正資訊 如下: [Visual Basic .NET] Public Function Write(ByVal As Object) [C#] public void Write(object ); [C++] public: void Write(Object* ); [JScript] public function Write( : Object); ---------------------------------- 3.4 不要使用摘要傳送大量的通知批次 ---------------------------------- 如果您將應用程式定義檔中的 值設定為 True, 來啟用通知類別的摘要傳送,則請勿使用 元素來設定自訂通知批次大小。 將 值設得太大,可能導致連線到 SQL Server 的連線數快速增加,而耗盡所有可用的記憶體。 ------------------------------ 3.5 文件中不正確的事件來源名稱 ------------------------------ Notification Services 事件記錄在 Windows 應用程式記錄檔。 「Windows 事件檢視器」會在「來源」欄的應用程式記錄檔中顯 示事件來源。所有 Notification Services 事件的來源為 NotificationServices。「事件記錄概觀」與「選擇監視工具」 主題,錯指來源為 NS$。 -------------------------------------- 3.6 疑難排解:安裝程式已完成,但未安裝 Notification Services -------------------------------------- 當您執行「安裝程式」時,如果立即出現「InstallShield 精靈已 結束」頁面,並包含下列文字,則可能是用來執行安裝程式的帳戶 沒有所需的存取權: 在 Microsoft SQL Server Notification Services 完成安裝前, 精靈已中斷。您的系統尚未修改。若要在其他時間完成安裝, 請重新執行安裝程式。 首先,請確定用來執行安裝程式的該帳戶,擁有本機「系統管理員」 特殊權限。如果該帳戶確有「系統管理員」特殊權限,而下列兩種 情況存在於電腦中,則該問題仍會發生: * 在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole 下, 有登錄機碼值 [DefaultAccessPermission] 存在。 * 指定給「元件服務」的預設存取權不包含執行「安裝程式」的帳戶。 附註:依預設,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole 中 並沒有登錄值 DefaultAccessPermission。該值為其他應用程式所建 立,或是當您使用「元件服務」工具將群組或使用者新增至 COM 的 預設存取權限時,才會建立該值。 將用來執行「安裝程式」的帳戶新增到「元件服務」: 1. 從 [開始] 功能表,按一下 [執行]。 2. 在 [執行] 方塊中,輸入 Dcomcnfg.exe。 3. 使用作業系統的指示來顯示 [預設 COM 安全性] 索引標籤: * 若是執行 Windows 2000 作業系統,按一下 [預設安全性] 索引標籤。 * 若是執行 Windows XP 作業系統,則進行下列步驟: a. 瀏覽到元件服務\電腦\我的電腦。 b. 在 [我的電腦] 上按一下滑鼠右鍵,並選取 [內容]。 c. 按一下 [預設 COM 安全性] 索引標籤。 4. 按一下 [編輯預設值] 按鈕。 5. 按一下 [新增] 按鈕,並新增用來執行「安裝程式」的帳戶。 ---------------------------------- 3.7 事件訊息指出找不到事件訊息 DLL ---------------------------------- 如果您在電腦上安裝數種 Notification Services 版本,然後要 解除安裝某版本,則事件日誌中的 Notification Services 訊息 可能包含下列文字,表示執行個體找不到事件訊息 DLL。 來源 ( NotificationServices ) 中,找不到事件識別碼 ( #### ) 的描述。本機電腦可能沒有所需的登錄資訊或訊息 DLL 檔,以從 遠端電腦顯示訊息.... 事件訊息的全文將在此文字之後顯示;然而,事件訊息之網頁內容的 連結並不包含此訊息。 若要修正此問題,請利用 NSControl Register 來重新登錄 任何使用已安裝之版本的 Notification Services 執行個體。 這可修復指標以指向事件訊息 DLL。若需相關資訊,請參閱 《Notification Services 線上叢書》的〈重新登錄執行個體〉。 -------------------------- 3.8 加密引數機碼為字元字串 -------------------------- NSControl Create、NSControl Update 及 NSControl Register 等命令,有個選用的「argumentkey」引數,可指定用來加密傳送 通道及事件提供者引數的機碼。此機碼值必須為字元字串。如果字 串包含任何空格,則必須用引號括住。若需相關資訊,請參閱 《Notification Services 線上叢書》的「設定引數加密」主題。 ---------------------------- 3.9 停用訂閱者將停用執行個體 ---------------------------- 如果您使用 NSControl Disable 來嘗試只停用執行個體的訂閱者, NSControl 會停止整個執行個體及其所主控的所有應用程式。 若要解決此問題,請使用下列兩種方法之一: * 在您停用訂閱者元件後,使用 NSControl Enable 來重新啟用執行 個體的所有其他元件: nscontrol enable -n -distributor -events -generator -subscriptions * 停用訂閱者時,併入另一元件,以停用再啟用該元件: nscontrol disable -n -generator -subscribers nscontrol enable -n -generator 您可以使用 NSControl Status 命令來檢查執行個體的狀態: nscontrol status -n