本文將告訴您,如何啟用 System.NET 追蹤提供更多的記錄資訊的連線與相關的問題,可能會發生在 Microsoft Windows SharePoint Services 3.0 環境和 Microsoft Office SharePoint Server 2007 環境。
當您疑難排解內容部署問題並搜尋在單一伺服器安裝或在多重伺服器安裝,SSL 是需要,網路追蹤公用程式 (如 「 網路監視器 」,問題 WireShark 和 Sniffer 無法用來顯示 HTTP 和 SOAP 資料。 HTTP 和 SOAP 資料有助於隔離與 SharePoint 服務相關的問題的原因。 不過,System.NET 追蹤已採用 Microsoft.NET Framework 2.0 提供 HTTP 和 SOAP 付費載入資料、 通訊端資訊和連接資訊的文字為主的記錄。
可能的使用案例
案例 1: 疑難排解內容部署問題
當您疑難排解內容部署問題時, 您可能會收到下列錯誤訊息在編目記錄檔中:
無法與目的地伺服器內容部署作業 'PublishJobName' 的通訊。 例外狀況為: ' System.Net.WebException: 無法連線到遠端伺服器。
不幸的是,統一 Logging Service (ULS) 記錄檔不表示連線到遠端伺服器失敗的原因。 如果 System.NET 追蹤記錄檔會建立,很有可能它們會提供有關失敗原因的詳細資訊。
案例 2: 疑難排解搜尋和耙梳的問題
當您疑難排解搜尋和耙梳問題時,編目記錄檔中可能會收到一或多個下列錯誤訊息:
耙梳這份文件無法完成,因為遠端伺服器沒有在指定的逾時內回應。 請嘗試更新的版本,耙梳伺服器或增加逾時值。 您也可以嘗試排程在非尖峰使用時間耙梳。
已收到的無法辨識的 HTTP 狀態。 請檢查位址可以使用 Internet Explorer 存取。
再次,ULS 記錄檔不表示為什麼要連線到遠端伺服器逾時。 不過,System.NET 追蹤記錄檔會提供有關失敗原因的更多資訊。
雖然本文將告訴您疑難排解問題與 SharePoint 產品與技術相關的 System.NET 追蹤是一項功能的.NET Framework 2.0 和更新的版本的.NET Framework 版本。 此外,本篇文章可以用來疑難排解與不相關 SharePoint 產品與技術的.NET Framework 應用程式。
背景
.NET Framework 2.0 System.NET 命名空間中呼叫方法的應用程式會檢查組態檔在處理序啟動 (載入時間) 的存在。 這個組態檔必須有相同的名稱和應用程式的可執行檔。 此外,組態檔必須位於與可執行檔相同的資料夾。 在 Windows SharePoint Services 計時器服務 (SPTimerV3) 啟動時,這表示,它會檢查有檔案名為 Owstimer.exe.config.Owstimer.exe 檔案資料夾中。
如何啟用 「 Windows SharePoint Services 計時器服務的 System.NET 追蹤
若要啟用 「 Windows SharePoint Services 計時器服務的 System.NET 追蹤,請依照下列步驟執行:
- 建立名為 Owstimer.exe.config 在下列資料夾中的文字檔:
%CommonProgramFiles%\Microsoft Shared\web 伺服器 extensions\12\BIN
- 在 Owstimer.exe.config 文字檔,貼上下列 XML 資料。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.Net">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.HttpListener">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Cache">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add
name="System.Net"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:\\Tracing\\OWSTimer_SNtrace.log" traceOutputOptions = "DateTime" />
</sharedListeners>
<switches>
<add name="System.Net" value="Verbose" />
<add name="System.Net.Sockets" value="Verbose" />
<add name="System.Net.Cache" value="Verbose" />
<add name="System.Net.HttpListener" value="Verbose" />
</switches>
</system.diagnostics>
</configuration>
- 儲存 Owstimer.exe.config 檔案。
- 重新啟動 Windows SharePoint Services 計時器服務。 如果要執行這項操作,[ 服務 ] MMC 嵌入式管理單元使用嵌入式管理單元或在命令提示字元 ] 視窗中輸入下列命令:
net stop sptimerv3 & net 啟動 sptimerv3
這個程序會強制組態檔讀取。 此外,此程序可讓記錄。 不過,
initializeData 屬性中所列資料夾必須存在。 此外,資料夾必須足夠的權限,可以讓檔案建立和寫入作業就會發生。 Owstimer.exe.config 檔案的帳戶是伺服器 Farm 帳戶。 Mssdmn.exe.config 檔案的帳戶是在 [ 搜尋 ] 服務帳戶和 [ 搜尋 ] 內容存取帳號。
計劃系統管理和服務帳戶 (Windows SharePoint Services) 本指南會說明這些帳戶。 若要取得本指南,請造訪下列 Microsoft 網站:
進行一般 System.NET 追蹤,使用的已啟用追蹤處理序的識別。 若要疑難排解權限問題與相關建立輸出追蹤記錄檔,使用處理序監視器 ]。 若要取得處理序監視器,請造訪下列 Microsoft 網站:
如何啟用 Office SharePoint Server Search 服務的 System.NET 追蹤
若要啟用 Office SharePoint Server Search 服務 (OSearch) 的 System.NET 追蹤,請依照下列步驟執行:
- 建立名為 Mssdmn.exe.config 在下列資料夾中的文字檔:
%ProgramFiles %\ Microsoft 辦公室 Servers\12.0\Bin
Mssdmn.exe.config 檔案的內容是與 Owstimer.exe.config,以外之 initializeData 屬性的範例相同。 重新命名這個屬性,建立特定的 Mssdmn.exe 處理序,為在下列範例記錄檔檔案名稱。 initializeData="C:\\Tracing\\MSSDMN_SNtrace.log"
- 重新啟動 Office SharePoint Server Search 服務。 如果要執行這項操作,[ 服務 ] MMC 嵌入式管理單元使用嵌入式管理單元或在命令提示字元 ] 視窗中輸入下列命令:
net stop osearch & net 啟動 osearch
這個程序會強制組態檔讀取。 此外,此程序可讓記錄。 不過,
initializeData 屬性中所列資料夾必須存在。 此外,資料夾必須足夠的權限,可以讓檔案建立和寫入作業就會發生。
請注意 依預設值,SharePoint Server 2007 年的安裝具有下列搜尋服務安裝:
- 辦公室 SharePoint 伺服器 [ 搜尋 ] (OSearch)
%ProgramFiles %\ Microsoft 辦公室 Servers\12.0\Bin - Windows SharePoint Services 搜尋 (SPSearch)
%CommonProgramFiles%\Microsoft Shared\web 伺服器 extensions\12\BIN
Windows SharePoint Services 3.0 安裝包含 「 SPSearch 服務的只有一個執行個體。 當您建立.Mssdmn.exe.config 檔案時,請確定您將檔案在正確的資料夾中尋找疑難排解搜尋服務遇到問題。 而且,如果您正在進行疑難排解,而不是 SharePoint Server 2007 年 OSearch 服務的 Windows SharePoint Services 3.0 SPSearch 服務,請確定您使用
net stop SPSearch 和
net start SPSearch ,而非
OSearch 。
如何停用 System.NET 追蹤
若要停用 System.NET 追蹤,請依照下列步驟執行:
- 移除或重新命名您建立用來啟用 System.NET 追蹤.config 檔案。 要執行這項操作,在 [ 命令提示字元 ] 視窗中, 輸入下列命令並按下 ENTER 鍵:
ren"%CommonProgramFiles%\Microsoft Shared\web 伺服器 extensions\12\BIN\owstimer.exe.config"owstimer.exe.config.disabled
- 重新啟動服務。 如果要執行這項操作,[ 服務 ] MMC 嵌入式管理單元使用嵌入式管理單元或在命令提示字元 ] 視窗中輸入下列命令:
net stop osearch & net 啟動 osearch
所需以建立與寫入 System.NET 權限追蹤記錄檔
只有 Windows 使用權限,是需要建立,並將寫入至 System.NET 追蹤記錄檔是記錄檔資料夾內容對話方塊的 [
安全性 ] 索引標籤上設定 「 寫入 」 使用權限。 追蹤記錄檔會建立並寫入的元件,正受到監視的服務帳戶的安全性內容中:
- OWSTimer
伺服器陣列服務帳戶 - MSSDmn
搜尋服務帳戶
範例 System.NET 追蹤記錄檔輸出
下列範例會包含 System.NET 追蹤從 Owstimer.exe 處理序 (SPTimerV3 服務) 所產生範例輸出。
System.Net Verbose: 0 : [2332] WebRequest::Create(http://sharepoint:56737/SearchAdmin.asmx)
DateTime=2007-10-21T19:06:36.3058633Z
System.Net Verbose: 0 : [2332] HttpWebRequest#65198764::HttpWebRequest(http://sharepoint:56737/SearchAdmin.asmx#-2024304231)
DateTime=2007-10-21T19:06:36.3058633Z
System.Net Verbose: 0 : [2332] Exiting HttpWebRequest#65198764::HttpWebRequest()
DateTime=2007-10-21T19:06:36.3214882Z
System.Net Verbose: 0 : [2332] Exiting WebRequest::Create() -> HttpWebRequest#65198764
DateTime=2007-10-21T19:06:36.3214882Z
System.Net Verbose: 0 : [2332] HttpWebRequest#65198764::GetRequestStream()
DateTime=2007-10-21T19:06:36.3214882Z
System.Net Warning: 0 : [2332] WebProxy failed to autodetect a Uri for a proxy script.
DateTime=2007-10-21T19:06:36.3371131Z
System.Net Warning: 0 : [2332] WebProxy failed to autodetect a Uri for a proxy script.
DateTime=2007-10-21T19:06:38.8058473Z
System.Net Information: 0 : [2332] Associating HttpWebRequest#65198764 with ServicePoint#4075575
DateTime=2007-10-21T19:06:38.8058473Z
System.Net Information: 0 : [2332] Associating Connection#276258 with HttpWebRequest#65198764
DateTime=2007-10-21T19:06:38.8058473Z
System.Net.Sockets Verbose: 0 : [2332] Socket#9116542::Socket(InterNetwork#2)
DateTime=2007-10-21T19:06:38.8058473Z
System.Net.Sockets Verbose: 0 : [2332] Exiting Socket#9116542::Socket()
DateTime=2007-10-21T19:06:38.8058473Z
System.Net.Sockets Verbose: 0 : [2332] Socket#9116542::Connect(155:56737#-1694308128)
DateTime=2007-10-21T19:06:38.8214722Z
System.Net.Sockets Verbose: 0 : [2332] Exiting Socket#9116542::Connect()
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Information: 0 : [2332] Associating HttpWebRequest#65198764 with ConnectStream#32410459
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] Exiting HttpWebRequest#65198764::GetRequestStream() -> ConnectStream#32410459
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] ConnectStream#32410459::Write()
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] Data from ConnectStream#32410459::Write
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000000 : 3C 3F 78 6D 6C 20 76 65-72 73 69 6F 6E 3D 22 31 : <?xml version="1
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000010 : 2E 30 22 20 65 6E 63 6F-64 69 6E 67 3D 22 75 74 : .0" encoding="ut
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000020 : 66 2D 38 22 3F 3E 3C 73-6F 61 70 3A 45 6E 76 65 : f-8"?><soap:Enve
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000030 : 6C 6F 70 65 20 78 6D 6C-6E 73 3A 73 6F 61 70 3D : lope xmlns:soap=
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000040 : 22 68 74 74 70 3A 2F 2F-73 63 68 65 6D 61 73 2E : "http://schemas.
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000050 : 78 6D 6C 73 6F 61 70 2E-6F 72 67 2F 73 6F 61 70 : xmlsoap.org/soap
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000060 : 2F 65 6E 76 65 6C 6F 70-65 2F 22 20 78 6D 6C 6E : /envelope/" xmln
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000070 : 73 3A 78 73 69 3D 22 68-74 74 70 3A 2F 2F 77 77 : s:xsi="http://ww
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000080 : 77 2E 77 33 2E 6F 72 67-2F 32 30 30 31 2F 58 4D : w.w3.org/2001/XM
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000090 : 4C 53 63 68 65 6D 61 2D-69 6E 73 74 61 6E 63 65 : LSchema-instance
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 000000A0 : 22 20 78 6D 6C 6E 73 3A-78 73 64 3D 22 68 74 74 : " xmlns:xsd="htt
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 000000B0 : 70 3A 2F 2F 77 77 77 2E-77 33 2E 6F 72 67 2F 32 : p://www.w3.org/2
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 000000C0 : 30 30 31 2F 58 4D 4C 53-63 68 65 6D 61 22 3E 3C : 001/XMLSchema"><
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 000000D0 : 73 6F 61 70 3A 42 6F 64-79 3E 3C 49 50 41 64 64 : soap:Body><IPAdd
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 000000E0 : 72 65 73 73 20 78 6D 6C-6E 73 3D 22 68 74 74 70 : ress xmlns="http
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 000000F0 : 3A 2F 2F 6D 69 63 72 6F-73 6F 66 74 2E 63 6F 6D : ://microsoft.com
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000100 : 2F 77 65 62 73 65 72 76-69 63 65 73 2F 4F 66 66 : /webservices/Off
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000110 : 69 63 65 53 65 72 76 65-72 2F 53 65 61 72 63 68 : iceServer/Search
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000120 : 2F 53 65 61 72 63 68 57-65 62 53 65 72 76 69 63 : /SearchWebServic
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000130 : 65 22 20 2F 3E : e" />
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] Exiting ConnectStream#32410459::Write()
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] ConnectStream#32410459::Write()
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] Data from ConnectStream#32410459::Write
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000000 : 3C 2F 73 6F 61 70 3A 42-6F 64 79 3E 3C 2F 73 6F : </soap:Body></so
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000010 : 61 70 3A 45 6E 76 65 6C-6F 70 65 3E : ap:Envelope>
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] Exiting ConnectStream#32410459::Write()
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] ConnectStream#32410459::Close()
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] Exiting ConnectStream#32410459::Close()
DateTime=2007-10-21T19:06:38.8214722Z
篩選 System.NET 追蹤記錄檔
當本篇文章中所述的 App.exe.config 檔案中已啟用詳細資訊記錄選項時,檢閱追蹤記錄檔可以是耗時的。 使用
TYPE 和
FIND 命令,您可以篩選進行輸出更容易管理的詳細資訊追蹤記錄檔。 下列範例會示範包含 0000 已移除所有的 DateTime 項目後,任何一行。 輸出會寫入到檔案名為 Data.txt。
在 [ 命令提示字元 ] 視窗,輸入下列命令並按下 ENTER 鍵:
OWSTimer_SNtrace.log | 尋找 / V"DateTime ="| 尋找 「 0000"> data.txt
如果您使用先前的範例追蹤記錄檔做為輸入,下列資料會出現在 Data.txt 檔中。
System.Net Verbose: 0 : [2332] 00000000 : 3C 3F 78 6D 6C 20 76 65-72 73 69 6F 6E 3D 22 31 : <?xml version="1
System.Net Verbose: 0 : [2332] 00000010 : 2E 30 22 20 65 6E 63 6F-64 69 6E 67 3D 22 75 74 : .0" encoding="ut
System.Net Verbose: 0 : [2332] 00000020 : 66 2D 38 22 3F 3E 3C 73-6F 61 70 3A 45 6E 76 65 : f-8"?><soap:Enve
System.Net Verbose: 0 : [2332] 00000030 : 6C 6F 70 65 20 78 6D 6C-6E 73 3A 73 6F 61 70 3D : lope xmlns:soap=
System.Net Verbose: 0 : [2332] 00000040 : 22 68 74 74 70 3A 2F 2F-73 63 68 65 6D 61 73 2E : "http://schemas.
System.Net Verbose: 0 : [2332] 00000050 : 78 6D 6C 73 6F 61 70 2E-6F 72 67 2F 73 6F 61 70 : xmlsoap.org/soap
System.Net Verbose: 0 : [2332] 00000060 : 2F 65 6E 76 65 6C 6F 70-65 2F 22 20 78 6D 6C 6E : /envelope/" xmln
System.Net Verbose: 0 : [2332] 00000070 : 73 3A 78 73 69 3D 22 68-74 74 70 3A 2F 2F 77 77 : s:xsi="http://ww
System.Net Verbose: 0 : [2332] 00000080 : 77 2E 77 33 2E 6F 72 67-2F 32 30 30 31 2F 58 4D : w.w3.org/2001/XM
System.Net Verbose: 0 : [2332] 00000090 : 4C 53 63 68 65 6D 61 2D-69 6E 73 74 61 6E 63 65 : LSchema-instance
System.Net Verbose: 0 : [2332] 000000A0 : 22 20 78 6D 6C 6E 73 3A-78 73 64 3D 22 68 74 74 : " xmlns:xsd="htt
System.Net Verbose: 0 : [2332] 000000B0 : 70 3A 2F 2F 77 77 77 2E-77 33 2E 6F 72 67 2F 32 : p://www.w3.org/2
System.Net Verbose: 0 : [2332] 000000C0 : 30 30 31 2F 58 4D 4C 53-63 68 65 6D 61 22 3E 3C : 001/XMLSchema"><
System.Net Verbose: 0 : [2332] 000000D0 : 73 6F 61 70 3A 42 6F 64-79 3E 3C 49 50 41 64 64 : soap:Body><IPAdd
System.Net Verbose: 0 : [2332] 000000E0 : 72 65 73 73 20 78 6D 6C-6E 73 3D 22 68 74 74 70 : ress xmlns="http
System.Net Verbose: 0 : [2332] 000000F0 : 3A 2F 2F 6D 69 63 72 6F-73 6F 66 74 2E 63 6F 6D : ://microsoft.com
System.Net Verbose: 0 : [2332] 00000100 : 2F 77 65 62 73 65 72 76-69 63 65 73 2F 4F 66 66 : /webservices/Off
System.Net Verbose: 0 : [2332] 00000110 : 69 63 65 53 65 72 76 65-72 2F 53 65 61 72 63 68 : iceServer/Search
System.Net Verbose: 0 : [2332] 00000120 : 2F 53 65 61 72 63 68 57-65 62 53 65 72 76 69 63 : /SearchWebServic
System.Net Verbose: 0 : [2332] 00000130 : 65 22 20 2F 3E : e" />
System.Net Verbose: 0 : [2332] 00000000 : 3C 2F 73 6F 61 70 3A 42-6F 64 79 3E 3C 2F 73 6F : </soap:Body></so
System.Net Verbose: 0 : [2332] 00000010 : 61 70 3A 45 6E 76 65 6C-6F 70 65 3E : ap:Envelope>
已知問題
以防止 System.NET 追蹤記錄檔所產生已知下列問題:
- 產生追蹤記錄檔的處理序沒有重新啟動,以允許讀取.config 檔案。
- 沒有足夠的權限有在其中將會產生追蹤記錄檔資料夾的受監視的處理序。
- 已啟用的追蹤處理序並不會使用從.NET Framework 2.0 Runtime System.NET 命名空間。 不幸的是,因為的各種方法的 Managed 程式碼可以存取,有是沒有簡單方式決定是否使用 System.NET 命名空間的.NET Framework 2.0 版本來開發應用程式。
啟動 SPTimerV3 服務時啟用 System.NET 追蹤後,已報告下列錯誤訊息:
發生系統錯誤 1006。
開啟的檔案,以便不再有效的已從外部變更檔案的磁碟區。
如果要解決這個問題,建立輸出資料夾的位置,記錄檔將會建立 (在 Owstimer.exe.config 檔中
initializeData 屬性的值)。
- 根據由受監視的處理序執行多少活動,追蹤記錄檔可以變得大 (數個幾百 MB) 透過本課程的一小時或更少。 因此,記錄應該啟用僅供疑難排解特定問題。 此外,輸出資料夾應該位於有足夠的空間,以容納大量的資料磁碟區上。
- System.NET 追蹤記錄檔建立之後,受監視的處理序將會維護追蹤記錄檔的開啟的檔案控制代碼。 要編輯、 移動,或刪除追蹤記錄檔,受監視的處理序必須先停止。 嘗試要擁有的處理序執行結果在 「 使用中的檔案 」 訊息或執行 「 Access 拒絕 」 的訊息時,變更檔案。
如需 System.NET 追蹤 (也稱為 System.NET 記錄) 的詳細資訊,請造訪下列 Microsoft 網站:
若要取得.NET Framework 的線上文件這項功能,請造訪下列 Microsoft 網站:
本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。. Microsoft 不以暗示或其他方式,提供與這些產品的效能或可靠性相關的保證。.