如何維護和疑難排解 BizTalk Server 資料庫

文章翻譯 文章翻譯
文章編號: 952555 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

Microsoft BizTalk Server 資料庫和資料庫的健全狀況是非常重要的成功的 BizTalk Server 訊息的環境。本文將告訴您處理 BizTalk Server 資料庫時要考量的重要事項。這些考量包括下列各項:
  • 您必須停用 自動更新統計資料 以及 自動建立統計資料 Microsoft SQL Server 選項。
  • 您必須正確設定最大程度的平行處理屬性。
  • 決定可以重建 BizTalk Server 索引。
  • 鎖定、 死結,或封鎖可能會發生。
  • 您可能會遇到問題的大型資料庫或資料表。
  • BizTalk SQL Server 代理程式作業
  • 可能已擱置服務執行個體。
  • 您可能會遇到 SQL Server 和 BizTalk Server 效能問題。
  • 您應該遵循 BizTalk Server 中的最佳作法。

簡介

本文將告訴您如何維護 BizTalk Server 資料庫,以及如何 BizTalk Server 資料庫問題進行疑難排解。

其他相關資訊

已知的問題

您必須停用 [自動更新統計資料] 和 [自動建立統計資料選項

您必須停用 自動建立統計資料 以及 自動更新統計資料 BizTalkMsgBoxDb 在資料庫上的選項。如果要判斷是否已停用這些設定,請在 SQL Server 中執行下列預存程序:
exec sp_dboption 'BizTalkMsgBoxDB', 'auto create statistics'
exec sp_dboption 'BizTalkMsgBoxDB', 'auto update statistics'

您應該將 CurrentSetting 設定為 關閉.如果這個設定設定為 在上將它關閉,藉由在 SQL Server 執行下列預存程序:
exec sp_dboption 'BizTalkMsgBoxDB', 'auto create statistics', 'off'
exec sp_dboption 'BizTalkMsgBoxDB', 'auto update statistics', 'off'

如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
917845 您遇到封鎖,因而鎖死條件或其他 SQL Server 問題當您嘗試連線到 BizTalk Server 中的 BizTalkMsgBoxDb 資料庫
912262 [自動更新統計資料] 選項中,自動建立統計資料] 選項,並且平行處理原則設定 SQL Server 資料庫執行個體裝載 (host) BizTalk Server BizTalkMsgBoxDB 資料庫中時,已關閉

您必須正確設定最大程度的平行處理原則屬性

在電腦上正在執行 SQL Server,而且裝載 BizTalkMsgBoxDb 資料庫,將最大程度的平行處理原則 run_value 和 config_value 屬性設定為 1 的值。若要確定最大程度的平行處理原則設定,請執行下列預存程序對母片中 SQL Server 資料庫:
exec sp_configure 'max degree of parallelism'
如果 run_value 和 config_value 屬性未設定為 1 的值,執行下列預存程序中將它們設定為 1 的 SQL Server:
exec sp_configure 'max degree of parallelism', '1'
reconfigure with override

如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
899000 當您設定 BizTalk Server 的 SQL Server 的執行個體平行處理原則設定
917845 您遇到封鎖,因而鎖死條件或其他 SQL Server 問題當您嘗試連線到 BizTalk Server 中的 BizTalkMsgBoxDb 資料庫

決定可以重建 BizTalk Server 索引

叢集大部分 BizTalk Server 索引 (索引識別碼: 1)。 您可用來顯示 BizTalk Server 資料表的分散化資訊的 DBCC SHOWCONTIG SQL Server 陳述式。

BizTalk Server 索引是 GUID 為基礎。因此,分散程度通常會發生。如果 DBCC SHOWCONTIG 陳述式所傳回的掃描密度值是小於 30%,BizTalk Server 索引可以重新建置期間的停機時間。

許多 BizTalk Server 資料表包含使用的資料型別定義的資料行。線上索引不能執行這些資料行中。因此,您應該永遠不會重建 BizTalk Server 索引時 BizTalk Server 處理資料。

如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
917845 您遇到封鎖,因而鎖死條件或其他 SQL Server 問題當您嘗試連線到 BizTalk Server 中的 BizTalkMsgBoxDb 資料庫
如需有關如何分析 DBCC SHOWCONTIG 陳述式輸出的詳細資訊,請造訪下列 Microsoft 網站:
http://technet.microsoft.com/en-us/library/cc966523.aspx

鎖定、 死結,或封鎖可能會發生

一般情況下,鎖定和區塊則會發生在 BizTalk Server 環境中。不過,這些鎖定或區塊不會保留一段時間。因此,封鎖及死結表示潛在的問題。

如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
917845 您遇到封鎖,因而鎖死條件或其他 SQL Server 問題當您嘗試連線到 BizTalk Server 中的 BizTalkMsgBoxDb 資料庫

您可能會遇到問題的大型資料庫或資料表

我們曾經看過大於 5 GB BizTalkMsgBoxDb 資料庫時,效能可能發生的問題。在理想的情況下,BizTalkMsgBoxDb 資料庫應該不會存放任何資料。資料處理或移至 BizTalkDTADb 資料庫之前,BizTalkMsgBoxDb 資料庫應該視為緩衝區。

在後端以及許多長時間執行協調流程所使用的功能強大的 SQL Server 環境可能會有大於 5 GB 的 BizTalkMsgBoxDb 資料庫。使用不長時間執行的協調流程的大量的環境應該有 5 GB 以上變小了許多的 BizTalkMsgBoxDb 資料庫。

BizTalkDTADb 資料庫並沒有以設定大小。不過,如果效能降低,資料庫可能是太大。通常,15 GB 到 20 GB 會被視為太大。當您有大型的 BizTalk Server 資料庫時,您可能會遇到下列問題:
  • BizTalkMsgBoxDb 資料庫會繼續成長。不過,記錄檔和資料大小會保持較長。
  • BizTalk Server 花較長的時間比平常處理更簡單的訊息流程的案例。
  • 狀況與活動追蹤 (HAT) 查詢需要比平常更長的時間,並可能逾時時間。
  • 資料庫記錄檔絕不會被截斷。
  • BizTalk SQL Server 代理程式作業的執行速度比平常慢。
  • 某些表格是大很多或太多資料列比較常見的資料表大小。
資料庫可能會變得大基於各種原因。這些原因可能包括下列:
  • 未執行 BizTalk SQL Server 代理程式作業
  • 大量的擱置的執行個體
  • 磁碟失敗
  • 追蹤
  • 節流設定
  • SQL Server 效能
  • 網路延遲
請確定您知道所需的環境,判斷是否發生資料問題。

預設情況下,預設主機上已啟用追蹤。BizTalk 會要求 允許主控件追蹤 選項會先在單一主機。啟用追蹤時,追蹤資料解碼服務 (TDDS) 將移至追蹤事件資料庫資料的 BizTalkMsgBoxDb 至 BizTalkDTADb 資料庫。如果已停止追蹤主控件,TDDS 不會不會移動資料至 BizTalkDTADb 資料庫,以及 TrackingData_x_x BizTalkMsgBoxDb 資料庫中的資料表也會增加。

我們建議您指定一個主應用程式追蹤。若要允許 TDDS 維護新的追蹤事件,在高容量案例中,建立多個單一追蹤主控件執行個體。沒有多個追蹤主控件應該存在。

在資料表中可以有太多的資料列。還有沒有固定的次數太多的列。此外,這個數量的資料列而異的何種資料儲存在資料表中。例如,可能有多個 1 百萬個資料列的 dta_DebugTrace 資料表有太多資料列。A 主機名稱可能有多個 200000 的資料列的 Q_Suspended 資料表中有太多資料列。

請使用正確的 BizTalk SQL Server 代理程式作業

BizTalk SQL Server 代理程式作業的重要管理 BizTalk Server 資料庫,以及維護高效能。

[ 備份 BizTalk Server SQL Server 代理程式 工作是 BizTalk Server 資料庫備份,唯一支援的方法。此工作需要 BizTalk Server 的所有資料庫都使用完整復原模式。您應該設定良好的 BizTalk Server 環境此工作。SQL Server 方法可以用來備份 BizTalk Server 資料庫,才 SQL Server 代理程式已停止,並停止所有的 BizTalk Server 主控件執行個體。

[ MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb SQL Server 代理程式作業會無限期執行。因此,SQL Server 代理程式作業歷程記錄永遠不會顯示成功完成的訊息。如果發生失敗,工作一分鐘之內重新啟動,會繼續無限地執行。因此,您可以放心地忽略失敗。此外,可以清除作業歷程記錄。您只應該擔心如果作業歷程記錄報告這項作業持續失敗,並重新啟動。

[ MessageBox_Message_Cleanup_BizTalkMsgBoxDb SQL Server 代理程式作業是因為它藉由啟動時不應該啟用的唯一 BizTalk Server 工作 MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb SQL Server 代理程式作業。

[ DTA 清除及封存 SQL Server 代理程式作業可協助維護 BizTalkDTADb 資料庫的清除功能,並封存追蹤的訊息。此工作會讀取資料表中的每個資料列,並比較來決定是否應該移除該記錄的時間戳記。

除了所有 BizTalk SQL Server 代理程式作業 MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb SQL Server 代理程式作業應該要成功地執行。

如需有關所有 BizTalk Server SQL Server 代理程式作業的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
919776 在 BizTalk Server SQL Server 代理程式作業的說明

可能已擱置服務執行個體

服務執行個體可以擱置 (擱置) 或已擱置 (不可繼續)。這些服務執行個體可能傳訊、 協調流程或連接埠。

這些服務執行個體可以使的 BizTalkMsgBoxDb 資料庫不必要地成長,而且隨時會終止。下表列出了何種方法可用,BizTalk 版本而定:
摺疊此表格展開此表格
群組中樞帽子Terminate.vbs結束點] 工具
BizTalk Server 2010[是][是][是]
BizTalk Server 2009[是][是][是]
BizTalk Server 2006 R2[是][是][是][是]
BizTalk Server 2006[是][是][是][是]
BizTalk Server 2004[是][是][是]
如需有關 Terminate.vbs 指令碼的詳細資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/bb203857.aspx
快取執行個體不會出現在 群組中樞 頁面上,而且您無法暫停,或終止它們。這項限制是成長的資料表的常見原因。若要防止在 BizTalk Server 2006年快取服務執行個體的新殭屍訊息,請在微軟知識庫文件 936536 中安裝 hotfix。BizTalk Server 2006 R2 和更新版本中修正這個問題。

附註 殭屍訊息是已路由傳送,但未耗用的訊息。

如需詳細資訊,按一下下列的文件編號,檢視 「 Mirosoft 知識庫 」 中的文件:
936536 修正: 遇到效能問題 BizTalk Server 2006年和節流訊息記錄在效能記錄檔
當 BizTalk Server 主控件執行個體結束時,快取執行個體可能無法移除。若要解決 BizTalk Server 2006年的這個問題,請在微軟知識庫文件 944426 中安裝 hotfix。在 BizTalk Server 2006 R2,安裝 BizTalk 2006 R2 Service Pack 1。BizTalk Server 2009年及更新版本中修正這個問題。

如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
974563 Microsoft BizTalk Server hotfix BizTalk Server 2006 R2 Service Pack 1 中所包含的清單
944426 修正: 失去關聯的快取執行個體可能是內建的執行個體和主機佇列 BizTalk Server 2006 年,並於 BizTalk Server 2006 R2 BizTalkMsgBoxDb 資料庫的資料表
另一個常見的問題是路由失敗報告 (RFRs),可能會在中往上建置 BizTalkHostQ 和 BizTalkHostQ_Suspended 資料表。RFRs 不會被移除,而且這種行為可能會造成 BizTalkMsgBoxDb 資料庫可成長。若要解決這個問題,BizTalk Server 2006 年,請在微軟知識庫文件 941690 中安裝 hotfix。BizTalk Server 2006 R2 和更新版本中修正這個問題。

如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
941690 修正: 路由失敗報告不會移除從<biztalkhostname>BizTalk Server 2006年的伺服器上的 Q_Suspended 資料表</biztalkhostname>
詞彙 [被遺棄訊息] 和 [殭屍的訊息] 會經常交換使用。

遺棄的訊息是一則訊息,並沒有關聯的執行個體。例如,路由失敗報告是被遺棄的訊息。

殭屍訊息是已路由傳送,但未耗用的訊息。例如,一則訊息已傳送至護衛隊協調流程。不過,護衛隊協調流程發生故障另一個程式碼路徑。協調流程執行個體完成。郵件會被捨棄,現在就所謂的廢止訊息。

殭屍訊息的說明,請造訪下列 MSDN 網站:
http://blogs.msdn.com/biztalk_core_engine/archive/2004/06/30/169430.aspx

您可能會遇到 SQL Server 和 BizTalk Server 效能問題

BizTalk Server 讓一分鐘內 SQL Server 數百個簡短、 非常快速的交易。如果 SQL Server 無法維持這項活動,BizTalk Server 可能會遇到效能問題。在效能監視器] 監視 平均磁碟秒/讀取,平均磁碟秒/傳輸 以及 平均磁碟秒/寫入效能監視器 在 [計數器 「 實體磁碟 效能物件。最佳的值是小於 10 ms (毫秒)。20 毫秒或更大的值會被視為效能不佳。

如需有關 SQL Server 效能的詳細資訊,請造訪下列 Microsoft 網站:
http://technet.microsoft.com/en-us/library/cc966540.aspx
如需有關 BizTalk Server 2004年資料庫高可用性的詳細資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/ms942187.aspx
如需有關 BizTalk Server 2006年資料庫高可用性的詳細資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/aa559920.aspx
如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
298475 如何疑難排解 SQL Server 效能問題

271509 如何監視封鎖在 SQL Server 2005 和 SQL Server 2000

在 BizTalk Server 中的最佳作法

在 SQL Server 上啟動 SQL Server 代理程式。停止 SQL Server 代理程式時,無法執行負責維護資料庫內建 BizTalk SQL Server 代理程式作業。這個行為會導致資料庫成長,以及此成長可能會造成效能問題。BizTalk Server 資料庫維護大幅改善了 BizTalk Server 2004 Service Pack 2 (SP2) 及更新版本中。

放置在個別的磁碟機上的 SQL Server LDF 和 MDF 檔案。在 BizTalkMsgBoxDb 與 BizTalkDTADb 資料庫的 LDF 和 MDF 檔案,則在相同的磁碟機可能是磁碟爭用。

如果您不可以從追蹤的郵件內文,請不要啟用此功能。不過,它會啟用訊息本文會追蹤在開發與疑難排解解決方案是個好主意。如果您執行這項操作時,請確認您停用郵件內文會追蹤當您完成時。啟用追蹤的郵件內文時,BizTalk Server 資料庫成長。如果沒有,必須啟用追蹤的郵件內文的商務需要,請確認 TrackedMessages_Copy_BizTalkMsgBoxDb 以及 DTA 清除及封存 成功地執行 SQL Server 代理程式工作。

一般而言,較小的交易記錄檔會導致較佳的效能。若要維持較小的交易記錄檔,請設定 備份 BizTalk Server 若要更頻繁地執行 SQL Server 代理程式作業。如需有關 BizTalk Server 最佳化的詳細資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/bb743398.aspx
BizTalkMgmtDb 資料庫中的 sp_ForceFullBackup 預存程序也可用來協助執行特定的資料和記錄檔的完整備份。預存程序會更新 adm_ForceFullBackup 表格具有值 1。在下一次 備份 BizTalk Server 工作執行時,會建立完整資料庫備份集。

BizTalk Server 最佳作法分析器 (BPA) 可以用來評估現有的 BizTalk Server 部署。BPA 會執行許多與資料庫相關的檢查。如需有關 BPA 的詳細資訊,請造訪下列 Microsoft 網站:
http://www.microsoft.com/downloads/details.aspx?FamilyID = 93d432fe-1370年-4b6d-aaa8-a0c43c30f5ab & displaylang = en

疑難排解

最佳的疑難排解步驟,讓 BizTalk Server SQL Server 資料庫是根據資料庫問題,例如封鎖或鎖死的種類而定。要疑難排解 BizTalk Server 資料庫的問題,請依照下列步驟執行。

步驟 1: 啟用並執行所有必要的 BizTalk SQL Server 代理程式作業

所有 「 BizTalk SQL Server 代理程式 」 工作除外 MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb 工作應該被啟用並執行成功。請勿停用任何其他工作。

如果發生失敗,使用 檢視歷程記錄 若要檢視錯誤的資訊,然後據以解決失敗的 SQL Server 中的選項。請記得, MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb SQL Server 代理程式作業會無限期執行。因此,您應該只是擔心如果作業歷程記錄報告作業持續失敗,並重新啟動。

步驟 2: 使用 MsgBoxViewer 工具

雖然您重現問題,請收集 MsgBoxViewer 資料。

MsgBoxViewer 工具很有用的疑難排解作業,因為它提供一份 HTML 報告,詳細資料表的大小和資料列計數的資訊。報表也有助於判斷 BizTalk Server 是否節流設定。此外,此工具提供 BizTalk Server 資料庫和 BizTalk Server 組態快照的集。

如需有關如何下載 「 MsgBoxViewer 」 工具的詳細資訊,請造訪下列 Microsoft 網站:
http://blogs.technet.com/jpierauc/pages/msgboxviewer.aspx
如需有關節流設定在 BizTalk Server 中的詳細資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/aa559893.aspx
當速度較平常慢執行 BizTalk Server 時,執行 「 MsgBoxViewer 」 工具,然後檢閱產生的 HTML 報告,如有任何問題。[ 摘要 區段會列出中以紅色的黃色和潛在問題的警告。

此外,您可以使用 MsgBoxViewer 工具輸出判斷哪些資料表的最大且有大部分的記錄。下表列出通常增加 [最大的 BizTalk Server 資料表。您可以使用這項資料來判斷可能會在有存在有潛在的問題。
摺疊此表格展開此表格
資料表描述
主機名稱Q_Suspended此表格包含多工緩衝處理資料表中特定主控件的已擱置執行個體相關聯的訊息的參考。此表格是 BizTalkMsgBoxDb 的資料庫。
主機名稱問:此表格包含的訊息中的多工緩衝資料表與特定主控件產生關聯,將無法暫止的參考。此表格是 BizTalkMsgBoxDb 的資料庫。
多工緩衝處理
組件
片段
這些資料表儲存在 BizTalkMsgBoxDb 資料庫中實際的訊息資料。
執行個體此表格會儲存在 BizTalkMsgBoxDb 資料庫中所有例項和其目前狀態。
TrackingData_0_x這些四個資料表以將事件移至 BAMPrimaryImport 資料庫 TDDS BizTalkMsgBoxDb 資料庫儲存追蹤 「 商務活動監控 (BAM) 事件。
TrackingData_1_x這些四個資料表以將事件移至 BizTalkDTADB 資料庫 TDDS BizTalkMsgBoxDb 資料庫儲存的追蹤的事件。
Tracking_Fragmentsx
Tracking_Partsx
Tracking_Spoolx
兩個這些資料表是在 BizTalkMsgBoxDb 與 BizTalkDTADb 資料庫中。其中一個在線上,而另一個是離線。

BizTalk Server 2004 SP2 中和更新版本中,TrackedMessages_Copy_BizTalkMsgBoxDb SQL Server 代理程式作業追蹤的訊息主體直接移至 BizTalkDTADb 資料庫中的這些資料表。

在 BizTalk Server 2004 Service Pack 1 (SP1) 和較早版本的 BizTalk Server 2004年,TrackedMessages_Copy_BizTalkMsgBoxDb SQL Server 代理程式作業會將追蹤的訊息主體複製到這些資料庫的資料表中 BizTalkMsgBoxDb。TrackingSpool_Cleanup_BizTalkMsgBoxDb SQL Server 代理程式作業會清除離線的資料表,並讓線上的資料表時工作也會線上資料表離線。
dta_ServiceInstances此表格會儲存在 BizTalkDTADb 資料庫服務執行個體的追蹤的事件。如果此資料表很大,BizTalkDTADb 資料庫很可能大。
dta_DebugTrace此表格會儲存在 BizTalkDTADb 資料庫中的協調流程偵錯工具事件。
dta_MessageInOutEvents此表格會儲存追蹤的事件訊息 BizTalkDTADb 資料庫中。這些追蹤的事件訊息包括訊息內容資訊。
dta_ServiceInstanceExceptions此表格會儲存 BizTalkDTADb 資料庫中的已擱置的服務執行個體資訊時發生錯誤。
請考慮下列案例。
主機名稱Q_Suspended 資料表
如果 主機名稱Q_Suspended 資料表有許多記錄,資料表可能是有效的已擱置執行個體中出現 群組中樞 或在帽型符號。這些執行個體可以終止。如果這些執行個體不會出現在 群組中樞 或快帽型符號,在執行個體都可能取執行個體或孤立路由失敗報告。當擱置的執行個體已終止時,此表格中的項目和多工緩衝處理和執行個體] 資料表其相關聯的資料列會清除。

在這個案例中,請繼續進行,或終止它們以處理擱置的執行個體。也可以使用 BizTalk 終端子] 工具。
主機名稱問: 資料表
如果 主機名稱問: 資料表具有許多的資料錄,以下類型的執行個體可能存在:
  • 就緒-執行執行個體
  • 使用中的執行個體
  • 已凍結的執行個體
BizTalk Server 需要 「 趕上 」 並處理執行個體的時間。此表會不斷擴大時的處理傳入速率 outpaces 處理的傳出的速率。另一個問題發生,例如大型的 BizTalkDTADb 資料庫或 SQL Server 磁碟延遲時,就會發生這種情況。
多工緩衝處理、 組件,以及片段資料表
多工緩衝處理]、 [組件] 和 [片段資料表有許多記錄,目前使用中,包括許多訊息凍結,或已擱置。根據大小、 的組件,以及這些資料表中的 [分散] 設定,單一訊息可能會產生所有這些資料表。每一封郵件有多工緩衝處理資料表中的一個資料列和組件] 表格中的至少一個資料列。
執行個體資料表
BizTalk 系統管理員應該允許留在執行個體資料表中許多擱置的執行個體。如果商務邏輯需要長時間執行的協調流程,應該只會保留已凍結的執行個體。請記住一個服務執行個體可以是多工緩衝處理資料表中的許多訊息相關聯。
TrackingData_x_x 資料表
如果 TrackingData_x_x 表格是大、 追蹤主控件 (TDDS) 未執行或未成功執行。如果追蹤裝載執行個體是執行中,檢閱事件記錄檔與 TDDS_FailedTrackingData 資料庫的資料表中 BizTalkDTADb 的資訊時發生錯誤。如果 BizTalk 節流具有 6 (大型的資料庫) 的狀態,這些資料表也可以使用 [BizTalk 終端子] 工具來截斷。

如果在 BizTalkMsgBoxDb TrackingData_ 的序列數字之間有較大間隔x_x 資料表和 BAMPrimaryImport 或 BizTalkDTADb TDDS_StreamStatus 資料表,然後 TDDS 可能無法將資料從 BizTalkMsgBoxDb 資料庫。若要更正此問題,請清除這些資料表及重設順序編號使用 BizTalk 終端子] 工具。

在 BizTalk Server 2006 R2,安裝 BizTalk 2006 R2 Service Pack 1 來解決已知的問題的追蹤資料。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
969870 修正: 追蹤資料不會移動至 BizTalkDTADb 資料庫中 BizTalk Server 2006 R2 地從 BizTalkMsgBoxDb 資料庫

974563 Microsoft BizTalk Server hotfix BizTalk Server 2006 R2 Service Pack 1 中所包含的清單
Tracking_Spool1 或 Tracking_Spool2 資料表
如果 Tracking_Spool1 或 Tracking_Spool2 資料表會變得大 BizTalk Server 2004 SP1 中,並在較早版本的 BizTalk Server 2004年中,請確認 TrackingSpool_Cleanup_BizTalkMsgBoxDb SQL Server 代理程式作業已啟用,且正在執行。

如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
907661 BiztalkMsgBoxDb 資料庫中的 Tracking_Spool1 或 Tracking_Spool2 資料表會變得非常大 BizTalk Server 2004


如需有關資料庫維護 SDK 範例的詳細資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/ms966372.aspx
dta_DebugTrace 資料表和 dta_MessageInOutEvents
填入 dta_DebugTrace 資料表時 圖形開始與結束 協調流程上已啟用。如果 「 dta_DebugTrace 」 資料表包含許多記錄,這些協調流程偵錯事件正在使用,或用了。如果協調流程偵錯並不需要進行一般作業,清除核取方塊 圖形開始與結束 在 [協調流程屬性] 選項。

填入 dta_MessageInOutEvents 資料表時 訊息傳送和接收 已啟用的協調流程和/或管線。如果不需要這些追蹤事件,則清除這個選項在 [協調流程和 (或) 管線內容] 核取方塊。

如果已停用這些追蹤事件或積存存在於 BizTalkMsgBoxDb 資料庫,這些資料表可能會繼續成長,因為 TDDS 會繼續,將此資料移到這些資料表。

根據預設,已啟用全域追蹤。如果全域追蹤不是必要的它可以停用。如需詳細資訊,請造訪下列 Microsoft 網站:
http://technet.microsoft.com/en-us/library/bb203858.aspx
如果 dta_DebugTrace 資料表和/或 BizTalkDTADb 資料庫中的 dta_messageInOutEvents 表格太大,您可以截斷資料表手動之後停止追蹤主控件。BizTalk 結束字元工具也提供這項功能。

BizTalk Server 2004 年 BizTalkDTADb 資料庫中的 [dtav_FindMessageFacts] 檢視會讓 dta_MessageInOutEvents 資料表無法截斷。若要解決這個問題,請依照下列步驟執行:
  1. 停止追蹤主控件和 DTA 清除及封存作業。
  2. 如果您想要截斷 dta_messageInOutEvents 資料表,儲存然後刪除 [dtav_FindMessageFacts] 檢視。若要執行這項操作,請依照下列步驟執行:
    1. 在 SQL Server,存取 BizTalkDTADb 資料庫中的 [dtav_FindMessageFacts] 檢視。
    2. 以滑鼠右鍵按一下 dtav_FindMessageFacts 檢視,請按一下 所有的任務然後按一下 產生 SQL 指令碼.當 產生 SQL 指令碼 對話方塊隨即開啟,不做任何變更,然後按一下 [確定].
    3. 命名檔案 dtav_FindMessageFacts.sql,,然後按一下 儲存.
    4. 以滑鼠右鍵按一下 dtav_FindMessageFacts 檢視,,然後按一下 刪除.按一下 [ 卸除全部.
您現在可以截斷資料表的資料表。若您截斷 dta_messageInOutEvents 資料表,您也必須截斷 dta_url 資料表。Dta_url 資料表只存在於 BizTalk Server 2004年。

當您完成時,請依照下列步驟執行,以重新建立 [dtav_FindMessageFacts] 檢視:
  1. 在 SQL Server 中開啟新的查詢。
  2. 可用的資料庫 清單中,選取 BizTalkDTADb 資料庫。
  3. 執行已儲存的 dtav_FindMessageFacts.sql 指令碼。這將會重新建立 BizTalkDTADb 資料庫中的檢視。
重新啟動追蹤主控件和 DTA 清除及封存 工作。
如需有關追蹤資料庫縮放指導方針的詳細資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/aa559162.aspx
dta_ServiceInstanceExceptions 表
Dta_ServiceInstanceExceptions 資料表通常會變成大定期具有已擱置執行個體的環境中。

步驟 3: 檢查死結案例

在死結的案例中,啟用 SQL Server 上的 DBCC 追蹤,讓死結資訊寫入 SQLERROR 記錄檔。

在 SQL Server 2005 及更新版本中,執行下列陳述式:
DBCC TRACEON (1222,-1)
在 SQL Server 2000 中,執行下列陳述式:
DBCC TRACEON (1204)
此外,使用 PSSDiag 公用程式來收集資料,在 鎖定: 死結 事件和鎖定: 死結鍊結 事件。

BizTalkMsgBoxDB 資料庫是高容量與高交易線上交易處理 (OLTP) 資料庫。預期某些死結,以及這個死結 BizTalk Server 引擎在內部處理。發生這個問題時,沒有錯誤會列在錯誤記錄檔。當您調查鎖死的情況時,您正在調查中輸出死結必須相互關聯到事件記錄檔中的死結錯誤。

如需有關 PSSDiag 的 SQL,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
830232 PSSDIAG 資料集合公用程式

步驟 4: 查看為已封鎖的處理程序

使用在 SQL Server 中的活動監視器,來取得鎖定的系統處理序伺服器處理序識別碼 (SPID)。然後,執行 SQL 程式碼剖析工具來判斷正在執行中的鎖定 SPID 的 SQL 陳述式。

若要疑難排解在 SQL Server 中的鎖定和死結問題,請使用 SQL 公用程式的 PSSDiag 來擷取已啟用的封鎖指令碼的所有 Transact SQL 事件。

在 SQL Server 2005 及更新版本,您可以指定 已封鎖的處理序臨界值 正在設定來決定哪一個 SPID 或 Spid 封鎖時間超過您指定的臨界值。

如需有關 PSSDiag 的 SQL,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
830232 PSSDIAG 資料集合公用程式
如需有關被封鎖的處理序臨界值的詳細資訊,請造訪下列 MSDN 網站:
http://msdn2.microsoft.com/en-us/library/ms181150.aspx
附註 當您遇到鎖定或在 SQL Server 中的封鎖問題,我們建議您連絡 Microsoft 客戶支援服務。Microsoft 客戶支援服務可以協助您設定正確的 PSSDiag 公用程式選項。

步驟 5: 安裝最新的 BizTalk Server Service Pack 以及累積的更新程式

BizTalk Server 2006 R2 和更新版本中已移到一個累積更新 (CU) 模型。累積的更新會包含最新 hotfix。BizTalk Server 2006 R2 Service Pack 1 也是可用的:
BizTalk Server 2006 R2 服務套件 1
BizTalk Server 2004 SP1 已沒有內建的清除功能,並封存 BizTalkDTADb 資料庫的功能。這項功能是隨附於 BizTalk Server 2004 SP2。依據資料庫大小的 BizTalkDTADb,安裝 BizTalk Server 2004 SP2 可能會需要小時因為安裝程式會清除 BizTalkDTADb 資料庫。

如需已知問題,當您安裝 BizTalk Server 2004 Service Pack 2,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文:
940519 在 BizTalk Server 2004 Service Pack 2 並未被記錄在 ReadmeSP2.htm 檔案的已知的問題
當您安裝 BizTalk Server 2004 SP2 時,我們建議您依照下列步驟執行:
  1. 在 Microsoft 知識庫 」 文件 894253 中安裝 hotfix。請依照下列知識庫文件 SQL Server 2000年中執行 bts_tracking_shrinkexistingdatabase.sql 指令碼中的步驟。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
    894253 要修正程式: dtasp_PruneTrackingdatabase() 預存程序可能會花費數小時清理 DTA 資料庫中 BizTalk Server 2004
  2. 安裝 BizTalk Server 2004 SP2。如需詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
    888751 如何取得最新的 BizTalk Server 2004 service pack

刪除所有的資料

如果資料庫是太大或慣用的方法被刪除所有的資料,可以刪除所有的資料。

請特別小心 請勿使用這個方法在任何環境其中的資料是商務關鍵或如果需要的資料。

BizTalkMsgBoxDb 資料庫清除步驟

若要刪除 BizTalkMsgBoxDb 資料庫中的所有資料,您可以使用 [BizTalk 終端子] 工具。否則,請依照下列步驟執行。

附註 這個動作會刪除所有郵件。請務必非常謹慎,如果您遵循這些步驟在實際執行環境中。
  1. 備份所有的 BizTalk Server 資料庫。請記住,預存程序可以用來強制資料和記錄檔的完整備份 BizTalkMgmtDb.dbo.sp_ForceFullBackup。執行此預存程序,並再執行 [備份 BizTalk Server SQL 代理程式作業。
  2. 將複製的 Msgbox_cleanup_logic.sql 指令碼 磁碟機: \Program Files\Microsoft BizTalk 200x\schema 到 SQL Server。
  3. 這個 SQL 對執行指令碼 BizTalkMsgBoxDb 資料庫以更新 bts_CleanupMsgbox 預存程序。
  4. 停止所有 BizTalk 主機、 服務和自訂隔離的配接器。如果您使用 HTTP 或 SOAP 配接器,請重新啟動 IIS 服務。
  5. 在所有的 BizTalkMsgBoxDb 資料庫上執行 bts_CleanupMsgbox 預存程序。
  6. 重新啟動所有的主控件執行個體和 BizTalk Server 服務。
Bts_CleanupMsgbox 預存程序 BizTalk Server 2006 年的已知問題的相關資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
924715 修正: 執行 bts_CleanupMsgbox 後的資料不從追蹤資料庫刪除的郵件就會將這個程序儲存在 BizTalk Server 2006年的測試環境

BizTalkDTADb 資料庫清除功能選項

若要從 BizTalkDTADb 資料庫中刪除所有資料,您可以使用 [BizTalk 終端子] 工具。否則,請使用下列方法之一。

附註 這兩種方式刪除所有郵件。方法 2 會更快。
  • 方法 1:
    1. 備份所有的 BizTalk Server 資料庫。
    2. 執行 dtasp_PurgeAllCompletedTrackingData 預存程序。如需有關 dtasp_PurgeAllCompletedTrackingData 預存程序的詳細資訊,請造訪下列 MSDN 網站:
      http://msdn.microsoft.com/en-us/library/aa561918.aspx
      附註 這個動作會刪除所有完成的訊息。
  • 方法 2:
    1. 備份所有 BizTalk 資料庫。
    2. 執行 dtasp_CleanHMData 預存程序。只有當 BizTalkDTADb 資料庫包含許多未完成的執行個體必須移除時,才能使用這個選項。

      若要執行這項操作,請依照下列步驟執行:
      1. 停止所有 BizTalk 主機、 服務和自訂隔離的配接器。如果您使用 HTTP 或 SOAP 配接器,請重新啟動 IIS 服務。
      2. BizTalkDTADb 在資料庫上執行 dtasp_CleanHMData 預存程序。
      3. 重新啟動所有主機和 BizTalk Server 服務。
僅限 BizTalk Server 2004年的步驟
要從 BizTalk Server 2004 BizTalkDTADb 資料庫中刪除所有資料,請依照下列步驟執行。

附註 這個動作會刪除所有完成的訊息。
  1. 備份所有的 BizTalk Server 資料庫。
  2. 停止所有 BizTalk 主機、 服務和自訂隔離的配接器。如果您使用 HTTP 或 SOAP 配接器,請重新啟動 IIS 服務。
  3. 在 Microsoft 知識庫 」 文件 894253 中安裝 hotfix。請依照下列知識庫文件 SQL Server 2000年執行 Bts_tracking_shrinkexistingdatabase.sql 指令碼中的步驟。

    Dtasp_PruneTrackingdatabase 預存程序的相關資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
    894253 要修正程式: dtasp_PruneTrackingdatabase() 預存程序可能會花費數小時清理 DTA 資料庫中 BizTalk Server 2004
  4. 重新啟動所有的主機與 BizTalk 服務。
附註 如果您必須具備的追蹤資料,備份 BizTalkDTADb 資料庫,將資料庫還原至另一個 SQL Server,然後再清除原始的 BizTalkDTADb 資料庫。

如果您需要分析 MsgBoxViewer 資料或 PSSDiag 輸出的說明,請連絡 Microsoft 客戶支援服務。客戶支援服務電話號碼以及支援費用的相關資訊的完整清單,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support
附註 請連絡客戶支援服務之前,壓縮 MsgBoxViewer 資料、 PSSDiag 的輸出,以及更新的事件記錄 (.evt 檔案)。您可能要傳送這些檔案,以 BizTalk Server 支援工程師。

屬性

文章編號: 952555 - 上次校閱: 2011年8月12日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft BizTalk Server Branch 2010
  • Microsoft BizTalk Server Developer 2010
  • Microsoft BizTalk Server Enterprise 2010
  • Microsoft BizTalk Server Standard 2010
  • Microsoft BizTalk Server 2009 Enterprise
  • Microsoft BizTalk Server 2009 Developer
  • Microsoft BizTalk Server 2009 Standard
  • Microsoft BizTalk Server 2009 Branch
  • Microsoft BizTalk Server 2006 R2 Enterprise Edition
  • Microsoft BizTalk Server 2006 R2 Developer Edition
  • Microsoft BizTalk Server 2006 R2 Standard Edition
  • Microsoft BizTalk Server 2006 Enterprise Edition
  • Microsoft BizTalk Server 2006 Developer Edition
  • Microsoft BizTalk Server 2006 Standard Edition
  • Microsoft BizTalk Server 2004 Enterprise Edition
  • Microsoft BizTalk Server 2004 Developer Edition
  • Microsoft BizTalk Server 2004 Standard Edition
關鍵字:?
kbpubtypekc kbinfo kbhowto kbmt KB952555 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:952555
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com