Business Connectivity Services 的診斷記錄概觀 (SharePoint Server 2010)

 

適用版本: SharePoint Server 2010

上次修改主題的時間: 2016-11-30

您可以利用用戶端或伺服器上的事件記錄檔和追蹤記錄檔,來疑難排解執行 Microsoft SharePoint Server 2010 伺服器及 Microsoft Office 2010 用戶端應用程式上的 Microsoft Business Connectivity Services 相關問題。此外,事件記錄和追蹤記錄的每個項目都有關聯的「活動識別碼」,您可以用此來追蹤從伺服器到外部資料來源的問題。

注意

除了本主題討論的記錄方法之外,您還可以使用 Microsoft System Center Operations Manager 管理組件 監視以 Microsoft Business Connectivity Services 為基礎的解決方案。如需如何設定 System Center Operations Manager 管理組件 的詳細資訊,請參閱管理套件中所包含的指南,下載網址為:Microsoft SharePoint 2010 產品管理組件(可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=184971&clcid=0x404)(可能為英文網頁)。

本文內容:

  • Business Connectivity Services 中的診斷記錄

  • 關於活動識別碼

  • 伺服器中的診斷記錄

  • Office 2010 用戶端上的診斷記錄

  • 範例:使用診斷記錄

Business Connectivity Services 中的診斷記錄

如果是以 Microsoft Business Connectivity Services 為基礎的解決方案,則會在執行 SharePoint Server 2010 的伺服器及 Office 2010 用戶端上產生診斷記錄。記錄檔有兩種:事件記錄檔和追蹤記錄檔。這兩者都會記錄 Microsoft Business Connectivity Services 產生的診斷資訊。事件記錄檔會記錄錯誤訊息。而追蹤記錄檔包含更深入的資訊,例如堆疊追蹤和資訊訊息。一般來說,與事件記錄檔相較,追蹤記錄檔提供較詳細的資料。

每個記錄下來的資訊項目都包括一個「活動識別碼」,這是個唯一 GUID 值。當某項目發生建立、更新或刪除作業時,「活動識別碼」也會傳送給外部系統。您可以使用「活動識別碼」追蹤從伺服器或用戶端到外部資料來源的動作。如需「活動識別碼」的詳細資訊,請參閱<關於活動識別碼>。

您可以設定事件記錄檔和追蹤記錄檔的診斷記錄層級。這會限制可寫入每個記錄檔的資訊類型和數量。下表定義事件記錄檔和追蹤記錄檔具備的記錄層級:

事件記錄層級

層級 定義

不會記錄。

重要

此訊息類型表示發生嚴重錯誤,此為解決方案失敗的主要原因。

錯誤

此訊息類型表示緊急情況。您應該調查所有的錯誤事件。

警告

此訊息類型表示需要加以留意的潛在問題。您應檢視並追蹤一段時間內所發生的警告訊息,以瞭解其模式。

資訊

您不需對資訊訊息採取任何動作,不過該訊息提供的寶貴資料可協助您監視解決方案的狀態。

詳細資訊

此事件記錄層級會記錄較長的事件或訊息。

追蹤記錄檔層級

層級 定義

不產生追蹤記錄檔。

未預期

此層級會記錄造成解決方案停止運作的事件訊息。設定為此層級的記錄時,記錄檔只會包括此層級的事件。

可監控

此層級可用來記錄關於任何無法復原事件的訊息。這些事件會限制解決方案的功能性,但是不會停止應用程式的運作。設定為此層級時,記錄檔也會包括重要錯誤 (未預期層級)。

此層級會記錄未預期,但不會停止解決方案程序的事件。設定為此層級的記錄時,記錄檔會包括警告、錯誤 (可監控層級) 以及重要錯誤 (未預期層級)。

設為此層級時,追蹤記錄會包括所有事項 (「詳細資訊」訊息除外)。此層級會記錄執行之作業的所有高層級資訊。在此層級所記錄的資料足以建構資料流程和作業順序。管理員或技術支援人員可使用此層級的記錄來疑難排解問題。

詳細資訊

設為此層級的記錄時,記錄檔會包括各個層級的所有訊息。當您使用此層級時,幾乎所有執行的動作都會予以記錄。詳細資訊追蹤會產生很多記錄訊息。此層級通常只會在開發環境的偵錯過程中使用。

診斷記錄檔在開發環境和生產環境中都非常實用,但不同環境所需要的記錄層級需求可能會有所不同。在 Microsoft Business Connectivity Services 中規劃診斷記錄時,請於設定記錄層級之前,先仔細考量您的商務需求和環境的週期階段。

例如,在解決方案的設計期間,您可能會為了偵錯目的,而將兩個記錄層級都設為「詳細資訊」,以擷取所有產生的系統狀態訊息。相反地,在生產環境中,您可能只要擷取類別為「高」、「可監控」和「未預期」的追蹤記錄檔,以及類別為「重要」和「錯誤」的事件記錄檔。

關於活動識別碼

在以 Microsoft Business Connectivity Services 為基礎的解決方案中,對外部資料進行的每個「建立」、「更新」或「刪除」作業,都會在伺服器與 Office 用戶端上產生唯一的 GUID,稱為「活動識別碼」。任何與作業相關的內容都會記錄在包含其活動識別碼的追蹤記錄檔或事件記錄檔中。

重要

在伺服器上的事件記錄檔和追蹤記錄檔中,「活動識別碼」值會標示為「CorrelationId」值。

「建立」、「更新」或「刪除」作業產生的「活動識別碼」值,會連同該作業相關的其他訊息一起傳送到外部系統。如果外部系統具備記錄機制,則該系統可以擷取並記錄此值。因此,如果某作業會在 SharePoint 伺服器或 Office 用戶端的記錄檔中產生項目,則此相同作業也可以使用其「活動識別碼」值在外部系統上追蹤。這有助於進行端對端的問題疑難排解。

「建立」之類的作業通常會在記錄中寫入多筆記錄。發生此情況時,該作業記錄的所有事件都會使用相同的「活動識別碼」值。這對疑難排解問題非常有用,因為相同的「活動識別碼」值有助於尋找特定作業的所有事件。反過來說,當相同類型的作業重覆發生時,每個作業執行個體會產生唯一的「活動識別碼」值。例如,如果外部內容類型的項目更新兩次,則每次的更新作業都會與唯一的「活動識別碼」值關聯。

提示

在某些情況下,Business Data Connectivity Service 在無法與外部系統通訊時,會重試作業。在此情況下,重試的作業將會使用相同的「活動識別碼」。

伺服器中的診斷記錄

預設會在 SharePoint Server 伺服器上啟用 Microsoft Business Connectivity Services 記錄。預設記錄層級包括:

  • 事件記錄:重要和錯誤

  • 追蹤記錄:中

如果 Microsoft Business Connectivity Services 的診斷記錄遭到停用,您可以在 [診斷記錄] 頁面上選取 [Business Connectivity Services] 啟用它 (位於 SharePoint Server 管理中心)。您也可以使用 Windows PowerShell 來設定伺服器上的事件記錄檔和追蹤記錄檔。例如,您可以變更記錄要寫入的磁碟機,以及設定記錄檔的詳細程度。

如需 SharePoint Server 中記錄的詳細資訊,例如如何設定記錄檔的位置,請參閱<設定診斷記錄 (SharePoint Server 2010)>。

您可以使用 Windows PowerShell 檢視伺服器上的事件記錄檔,也可以匯出該記錄檔 (例如,匯出至試算表程式)。如需詳細資訊,請參閱<檢視診斷記錄 (SharePoint Server 2010)>。

Microsoft Business Connectivity Services 會輸出兩種類別到 SharePoint Server 前端網頁伺服器的追蹤記錄:BDC_Shared_ServicesSS_Shared_Service。您可以使用「事件檢視器」來開啟追蹤記錄,而且您可以在 “SPS_BusinessData” (Microsoft Business Connectivity Services 輸出) 和 “SPS_SecureStoreService” 上搜尋以篩選出相關的記錄項目。

Office 2010 用戶端上的診斷記錄

使用 Microsoft Business Connectivity Services 基礎結構的 Microsoft Office 2010 套裝軟體 用戶端,提供 Microsoft Business Connectivity Services 解決方案的事件記錄檔與追蹤記錄檔。預設會啟用用戶端上的 Microsoft Business Connectivity Services 事件記錄,但為了保護效能,僅會記錄錯誤與嚴重錯誤,且無法變更此設定。Windows 用戶端電腦包含可用於檢視事件記錄檔的「事件檢視器」。如需如何檢視特定 Windows 版本之事件記錄檔的資訊,請參閱產品文件。

預設會停用用戶端電腦上的追蹤記錄,以協助提高效能。只有當您發生需要診斷的問題時,才應啟用用戶端電腦上的追蹤記錄。例如,若事件記錄項目表示錯誤可能是由於與 Microsoft Business Connectivity Services 相關的活動所造成,則啟用追蹤記錄可在下次發生該事件時收集其他資料。

啟用追蹤記錄及讀取記錄檔的方法,隨電腦上的 Windows 版本而異。例如,在執行 Windows XP 的電腦上,會透過執行使用 logman 命令的指令碼來啟用追蹤。在 Windows Vista 及更新的版本上,會使用效能與可靠性監視器等系統工具,而非 logman 命令。如需如何啟用追蹤及如何擷取結果的詳細資訊,請參閱 Windows 產品文件。

下列範例指令碼使用 logman 命令啟用追蹤記錄:

rem This script will enable logging, directing log messages to a file specified by the "%FILE_NAME%" given by the user.

@setlocal
@echo off
pushd %~dp0
set PATH_NAME=%TEMP%\BCS
set FILE_NAME=%PATH_NAME%\ETWTraceLog
set TRACE_COLLECTION=BCS
::tracelog -start BCS -guid #b8622a02-c377-46b1-b861-38a787a8e44a -b 128 -flags 0xFFFF -level 5 -f "%FILE_NAME%.etl"
md "%PATH_NAME%" 1>nul 2>nul
logman create trace %TRACE_COLLECTION% -p "{b8622a02-c377-46b1-b861-38a787a8e44a}" 0xFFFF 5 -o "%FILE_NAME%.etl" -ets
echo.
echo Business Connectivity Services tracing has been started. To end press any key.
echo.
pause

如同伺服器一般,用戶端中的項目若發生「建立」、「更新」或「刪除」作業,也會產生唯一的「活動識別碼」值。這些值會記錄在記錄檔中,並連同作業的其他相關資訊,一起傳送到外部系統。此外,您可以將解決方案設定為在錯誤訊息中顯示「活動識別碼」值。如此有助於疑難排解解決方案使用者所遇到的問題。

重要

由於 Windows XP 作業系統未提供產生「活動識別碼」相依之 Windows 程式開發介面所需的事件追蹤版本,因此無法在執行 Windows XP 的用戶端上產生「活動識別碼」。

範例:使用診斷記錄

這個簡要的案例說明在生產環境中使用診斷記錄的方式。某企業已部署以 Microsoft Business Connectivity Services 為基礎的新工時記錄卡提交解決方案。此解決方案使用外部系統來儲存員工的工時記錄卡資訊 (例如,休假和病假),並於員工請假時與員工和薪資系統互動。員工將使用「網頁組件」與系統進行互動。

在伺服器陣列上,記錄層級會設為 Microsoft Business Connectivity Services 的預設值:

  • 事件記錄:重要和錯誤

  • 追蹤記錄:中

在此案例中,員工已提交病假的小時數,但是該名員工和其經理都沒有收到請假成功提交的確認電子郵件。於是該名員工連絡內部技術支援人員,並回報此問題。

技術支援人員認出此工時記錄卡應用程式以 Microsoft Business Connectivity Services 為基礎。因此技術支援人員檢查了事件記錄,但發現該名員工提交工時記錄卡要求時的使用者身分並沒有任何相關錯誤。技術支援人員接著檢查追蹤記錄,並找到了該活動的證明:該名使用者在適當時間有一個「更新」作業。追蹤記錄中的「更新」作業包括「活動識別碼」值,接著技術支援人員便記錄下此值。

技術支援人員了解外部系統也支援記錄功能。於是,技術人員便使用此「活動識別碼」在外部系統中找出該項目,並且在寫入的記錄中找到「更新」作業結束時發生錯誤的證明:更新作業的失敗,因為該名員工已無剩餘的病假配額。技術支援人員也注意到,外部系統在「更新」作業結束時並沒有立即產生電子郵件訊息的確認記錄項目。最終技術支援人員歸納出工時記錄卡應用程式的邏輯有誤。應用程式在該名員工的病假超出配額時,雖然沒有支付病假期間的薪資,但是應用程式沒有產生電子郵件訊息通知該名員工此問題。技術支援人員將問題回報給建立該應用程式的開發團隊,而後開發團隊便更新了該應用程式。

See Also

Concepts

監視概觀 (SharePoint Server 2010)
設定診斷記錄 (SharePoint Server 2010)
Business Connectivity Services 概觀 (SharePoint Server 2010)