Microsoft BizTalk Server 元件程式會在執行 SQL Server 的一或多部電腦上建立資料庫、使用 BizTalk Server 所使用的數據表、角色和預存程式填入資料庫,並將運行時間期間使用的 .NET 元件部署到 BizTalk 管理資料庫。
本節討論解決設定錯誤的疑難解答技術。 它也會列出一些常見的設定問題,以及如何解決這些問題。
組態記錄
組態程式會將詳細資訊寫入組態記錄檔,此檔案預設位於執行BizTalk Server 之計算機的暫存目錄中。 若要判斷 TEMP 環境變數指定的資料夾,請在此電腦上開啟命令提示字元,輸入下列命令,然後按 ENTER:
echo %TEMP%
組態記錄檔包含所執行之設定步驟的摘要,以及設定程式期間可能發生之任何失敗的診斷資訊。 如果發生設定錯誤,請在記事本等文本編輯器中開啟組態記錄檔,並檢查記錄檔中是否有可能發生的錯誤原因。
疑難解答工具
使用 SQL Server Profiler、Filemon 或 Regmon 收集設定失敗的其他資訊。 如需這些工具的詳細資訊,請參閱 用於疑難解答的工具和公用程式。
已知問題
在個別電腦上安裝 BizTalk Server 和 SQL Server 時,設定會失敗
問題
嘗試設定 Enterprise Single Sign-On (SSO) 元件時,組態會失敗,並出現類似下列的錯誤:
嘗試存取 SSO 資料庫時發生錯誤。
函數:FieldInfoCreate
-或-
無法開啟單一 Sign-On (SSO) 服務 (錯誤碼0X800706BA)
原因
如果 BizTalk Server 和 SQL Server 安裝在不同的電腦上,則設定作業必須在分散式交易協調器(MSDTC)交易的情境下進行,而且這些電腦之間的網路上必須具備 MSDTC 功能。 如果執行 BizTalk Server 和 SQL Server 的電腦之間無法透過網路使用 MSDTC 功能,則會發生此錯誤。
解決辦法
請遵循 針對 MSDTC 問題進行疑難解答 中的步驟,以確保在執行 BizTalk Server 和 SQL Server 的電腦之間透過網路提供 MSDTC 功能。
防病毒軟體干擾設定並導致設定失敗
問題
當防病毒軟體錯誤判斷組態程式為病毒時,BizTalk Server 組態會失敗。
原因
防病毒軟體尚未更新,以將 BizTalk Server 組態程式納入為合法的(非病毒)程式。
解決辦法
設定防病毒軟體程式,以將 BizTalk Server 組態程式辨識為合法的(非病毒)程式,或在組態程式執行時暫時停用防病毒軟體。
設定失敗,並出現「找不到檔案或元件名稱 FileName.dll或其其中一個相依性」錯誤
問題
設定程式期間會顯示類似下列的錯誤:
無法部署 BizTalk 系統元件 “C:\Program Files\Microsoft\
BizTalk Server 2009\Microsoft.BizTalk.DefaultPipelines.dll。 未指定
例外:檔案或元件名稱 FileName .dll,或其中的其中一個
找不到相依性。 檔案或元件名稱 FileName .dll、 或
找不到它的一項相依性。
原因
如果網路服務帳戶沒有執行 BizTalk Server 之電腦上的暫存資料夾寫入許可權,就可能發生此錯誤。 在設定期間,BizTalk Server 元件會使用 Windows Management Instrumentation (WMI) 將 .NET 元件部署至 BizTalk 管理資料庫。 WMI 會模擬網路服務帳戶,同時將這些元件部署至 BizTalk 管理資料庫,因此網路服務帳戶必須具有執行 BizTalk Server 之計算機上暫存資料夾的寫入許可權。
解決辦法
將執行 BizTalk Server 之電腦上的暫存資料夾的寫入許可權授與網路服務帳戶,然後再次執行組態程式。 若要判斷 TEMP 環境變數所指定的資料夾,請在電腦上開啟命令提示字元,輸入下列命令,然後按 ENTER:
echo %TEMP%
如果執行 SQL Server 的電腦 NetBIOS 名稱超過 15 個字元,群組的設定就會失敗
問題
BizTalk Server 群組設定失敗,而且 BizTalk Server 組態記錄檔中會顯示類似下列的錯誤:
2006-08-29 23:54:00:0902 [WARN] AdminLib GetBTSMessage: hrErr=80070547;
無法從網域讀取 Msg=組態資訊
控制器,可能是因為機器無法使用,或存取已被拒絕
遭到拒絕。;
原因
如果執行 SQL Server 的電腦 NetBIOS 名稱長度超過 15 個字元,就會發生此問題。 如果 NetBIOS 名稱超過 15 個字元,則 Windows 會將 NetBIOS 名稱截斷為 15 個字元,且 NetBIOS 名稱將不再符合此電腦完整功能變數名稱 (FQDN) 或 DNS 名稱的第一個部分。 如果 NetBIOS 名稱不符合電腦 FQDN 的第一個部分,群組設定將會失敗。
解決辦法
將執行 SQL Server 之電腦的 NetBIOS 名稱變更為不超過 15 個字元的名稱,然後再次執行設定。
備註
如果您將計算機重新命名,則必須重新啟動電腦。
如果 SQL Server 資料庫檔案的名稱與指定的資料庫已存在於 SQL Server 資料資料夾中,組態就會失敗
問題
組態失敗,並出現類似下列的錯誤:
無法設定 BAM 資料庫
無法開啟登入 『BAMPrimaryImport』 中所要求的資料庫
登入失敗。 使用者 'BizTalk\BizTalkUser' 登入失敗
原因
如果在執行 SQL Server 的電腦上,\MSSQL\data 資料夾中已有具有相同名稱的 .mdf 或 .ldf 檔案,而 BizTalk Server 組態程式嘗試建立新的 .mdf 或 .ldf 檔案,就會發生此錯誤。 針對資料庫建立的 .mdf 檔案和 .ldf 檔案的名稱,源自於在 BizTalk Server 組態程式中指定的資料庫名稱,並附加了 .mdf 和 .ldf 副檔名。
解決辦法
若要解決此行為,請使用下列其中一種方法:
刪除任何.mdf檔案或具有與您建立之任何資料庫名稱相符之名稱的 .ldf 檔案。
選擇不符合您 SQL 伺服器 \Program Files\Microsoft SQL Server\MSSQL\data 資料夾中已存在的任何 .mdf 檔案或 .ldf 檔案名稱的資料庫名稱。
在指定本機帳戶時,域控制器上的設定出現了故障。
問題
在域控制器上執行 BizTalk Server 組態程式時,如果您為 BizTalkServerApplication 主機或 BizTalkIsolatedHost 主機指定了本地組(例如 BizTalk 主機使用者群組),設定就會失敗。
原因
域控制器會自動將本機 Windows 群組視為網域 Windows 群組(域控制器上沒有本機 Windows 群組之類的專案)。 如果您在執行組態程式時指定主機的本機 Windows 群組,嘗試為群組建立 SQL Server 登入時,設定將會失敗。 當伺服器是域控制器時,組態程式不會停用本機 Windows 群組選項。
解決辦法
指定組態期間所建立主機的網域群組。
如果 SQL Server 已重新命名,組態就無法建立 SQL Server Analysis 資料庫
問題
如果您已將已安裝 SQL Server Analysis Server 的計算機重新命名,當組態程序嘗試建立新的 SQL Server Analysis 資料庫,併產生類似下列的錯誤時,即會失敗:
無法連線到存放庫。
Analysis Server: <計算機名稱>
錯誤:
'\\<machine name>\MsOLAPRepository$\msmdrep.mdb' 不是有效的路徑。
請確定您已正確拼字路徑名稱,且您是
連接到檔案所在的伺服器。
原因
組態程式無法判斷您安裝 SQL Server Analysis Server 之電腦的新名稱。
解決辦法
請依照以下手動步驟,使用新的電腦名稱來更新 Analysis Server。
依序按兩下 [開始]、[ 所有程式]、[ Microsoft SQL Server]、[ Analysis Services],然後按兩下 [ 分析管理員]。
在 Analysis Manager 瀏覽面板中,雙擊 Analysis Servers 節點以展開。
以滑鼠右鍵按下您想要編輯之存放庫連接字串的伺服器,然後選取 [編輯存放庫連接字串]。
在 [ 編輯存放庫連接字串 ] 對話框中,確認此字串中的伺服器名稱,如果不正確,請將它更新為新的計算機名稱。
流覽至下列位置: <安裝目錄>\Program Files\Microsoft Analysis Services\Bin。
以滑鼠右鍵按下 Bin 資料夾,然後按兩下 [ 共用與安全性]。 Bin 屬性 對話框顯示。
在 [ Bin 屬性 ] 對話框中,按兩下 [ 共用] 索引標籤,確認所有在線分析處理 (OLAP) 系統管理員都有此資料夾的完整許可權。
組件從 Visual Studio 重新部署時,構件從組態資料庫消失
問題
當 BizTalk Server 專案在 Visual Studio 的專案層級重新部署時,所有在專案中參照該重新部署專案的成品,於重新整理 BizTalk Server MMC 時,會顯示為消失不見。
原因
為了說明此問題的原因,請根據使用者想要重新部署地圖專案的範例 BizTalk Server 解決方案,考慮下列範例。 請注意,編譯專案會產生個別組件。 下圖指出使用者重新部署之前的解決方案狀態。 成品之間的關聯性如下所示:
Orch1、Orch2、地圖、管線和架構都是專案。
Orch1 參考地圖,接著會參考架構。
Orch2 參考架構。
管線參考架構。
如果使用者使用預設 Visual Studio 專案設定重新部署地圖專案,則 Orch1、Orch2 和 Pipeline 成品會消失,如下圖所示。
重新部署地圖是取消部署目前部署 Maps.dll 元件的雙步驟程式,然後部署新的 Maps.dll 檔案。 Visual Studio 會在重新部署程式期間自動執行這些步驟。
備註
上述句子並非完全正確,因為這些是Visual Studio一律會執行的步驟,因此沒有正確方式的概念。
關鍵點是,為了解除部署 BizTalk Server 組件,Visual Studio 必須先解除部署所有設有部署旗標且相依於該組件的其他組件。 在我們的範例中,若要執行重新部署的第一個取消部署步驟,BizTalk Server 必須取消部署 Orch1.dll(它依賴於 Maps.dll)。 在取消部署 Maps.dll的過程中,Visual Studio 也會取消部署 Schemas.dll(假設其已設定部署旗標)。 若要取消部署 Schemas.dll,Visual Studio 必須取消部署 Orch2.dll 和 Pipelines.dll(這兩者都相依於 Schemas.dll)。
問題在於 Visual Studio 只會重新部署 Maps.dll 及其相依的元件:在此情況下,Schemas.dll。 因此,當使用者重新整理 BizTalk Server MMC 時,Orch1、Orch2 和 Pipeline 元件似乎消失了,但仍能看到 Maps.dll 和 Schemas.dll。
解決辦法
針對主要專案(參考其他專案)請執行下列動作:
在 [方案總管] 中,以滑鼠右鍵按兩下方案節點。
按兩下 [屬性 ] 以開啟 [方案屬性頁] 對話框。
按兩下 [ 組態屬性],然後按兩下 [ 組態]。
清除所參考專案的 [部署] 複選框。
在 [方案總管] 中,執行新的方案層級部署。 若要這樣做,請以滑鼠右鍵按兩下方案節點,然後按兩下 [ 部署解決方案]。
支援的虛擬目錄類型
從協調流程參考 Web 服務並嘗試進行 MSI 匯出時,只有在相關聯的虛擬目錄類型為 IIsWebVirtualDir 或 IIsWebDirectory 時,匯出作業才會成功。 IIsWebVirtualDir 和 IIsWebDirectory 是出現在 IIS 中繼基底中的節點類型。 IIsWebVirtualDir 是具有指向絕對檔案資料夾 之 Path 屬性的虛擬目錄。 IIsWebDirectory 是不含 Path 屬性的虛擬目錄,因此是指相對檔案資料夾,通常是另一個 IIsWebVirtualDir 或 IIsWebDirectory 節點的子資料夾。 這兩種類型通常是在 Metabase 階層中用來描述資料夾的型別。
不支援 IIsConfigObject 類型的虛擬目錄,而且在此情況下,MSI 匯出將會失敗。 IIsConfigObject 是一個非預期的中繼資料庫節點類型,這可能是 BizTalk Server 未正確處理的一個有效節點類型,或是顯示中繼資料庫專案建立不當(因此無效)。 在此情況下,BizTalk Server 會顯示類似以下的錯誤訊息:IIsConfigObject 類型的非預期目錄專案 "IIS://LM/W3SVC/1/ROOT/BadVdir/"。
拿掉過時登入之後無法檢視群組資訊
問題
如果在設定期間遇到並刪除不再使用的舊的登入,您可能無法檢視群組資訊。
原因
這是已知的設定問題。
解決辦法
它可能有助於刪除主機 Windows 群組登入,然後重新設定。 如果群組資訊仍然無法使用,請連絡Microsoft產品支援。
安裝 BizTalk Server 之後,無法變更電腦名稱
問題
當您在執行 BizTalk Server 的電腦上變更電腦名稱,並重新啟動(重新啟動)計算機時,可能會發生錯誤訊息。
原因
SQL Server 不支援變更計算機名稱,因此 BizTalk Server 不支援在安裝及設定 BizTalk Server 之後變更電腦名稱。
解決辦法
建議您在安裝 BizTalk Server 之後不要變更電腦名稱。