您目前已離線,請等候您的網際網路重新連線

如何使用 SQL Server 分析網站記錄

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:296085
本文已封存。本文係以「現狀」提供且不會再更新。
結論
網際網路資訊伺服器/服務提供了數個來蒐集網頁記錄表單中的資料的格式。 為忙碌的站台這些文字基礎的一般檔案,有時會變得太多要檢閱的負擔,且會忽略。 檢閱資料的較佳方法,就會使這些記錄檔更好的資源管理員和 Web 母片。

本文將告訴您,在全球資訊網協會 (W3C) 延伸記錄格式中的 IIS 記錄檔匯入 Microsoft SQL Server,以利於進行檢閱 IIS 記錄檔的方法。 所提供的技術也可以改變的其他記錄檔的檔案格式。
其他相關資訊
網頁記錄是所指定的 RFC 2616 「 超文字傳輸通訊協定--HTTP/1.1"(http://www.rfc-editor.org/rfc/rfc2616.txt) 分隔的文字檔。

W3C 延伸記錄格式在的欄位是有點自我說明性: 資料和時間都只是什麼它們看起來 ; [c IP] 是用戶端 IP 位址 ; [cs 方法] 是已符合要求的 HTTP 方法 ; [cs-URI-莖] 是已經要求的文件 ; [cs-URI-查詢] 為一部分被記錄的要求已傳送的查詢字串 ; [sc 狀態] 是由伺服器 ; 傳回的狀態碼 [sc 位元組] 是傳回給使用者的位元組數 ; [時間採取] 是以毫秒為單位花費,伺服器無法完成要求的處理時間 ; [cs(Cookie)] 是 Cookie 或永續性資料在邀請中 ; 而 [cs(Referer)] 是先前由使用者瀏覽過的網站的 URL。 對於 W3C 延伸記錄] 格式有許多其他欄位可選擇在 IIS 說明] 和 [在下列 Microsoft 網站所說明的: 記錄檔格式如下:

日期時間c IPcs 方法cs uri 莖cs URI 查詢sc 狀態sc 位元組拍攝時間cs(User-Agent)cs(cookie)cs(referrer)


記錄檔的標頭會對應到在 [Web 站台在 [網站] 索引標籤上,然後在 W3C 延伸記錄的情況下的 內容] 中選擇 [擴充內容] 索引標籤的欄位。 如果您的網頁記錄已經在 Microsoft SQL Server 資料表中,很可能因為的 ODBC 記錄。 但是,當您使用 ODBC 記錄欄位並非可設定。 IIS 說明有設定包括使用 Logtemp.sql 在預期的結構中建立表格的 ODBC 記錄的說明。

您可以使用企業管理員] 來建立該資料表但加快速度,並協助您在程序自動化而是下列的指令碼在使用查詢分析器來建立資料表:
CREATE TABLE [dbo].[tablename] (	[date] [datetime] NULL,	[time] [datetime] NULL ,	[c-ip] [varchar] (50) NULL ,	[cs-method] [varchar] (50) NULL ,	[cs-uri-stem] [varchar] (255) NULL ,	[cs-uri-query] [varchar] (2048) NULL ,	[sc-status] [int] NULL ,	[sc-bytes] [int] NULL ,	[time-taken] [int] NULL ,	[cs(User-Agent)] [varchar] (255) NULL ,	[cs(Cookie)] [varchar] (2048) NULL ,	[cs(Referer)] [varchar] (2048) NULL 	)				

請注意一些這些欄位是相當大,而且可能不需要的檢視特定的記錄檔。

一旦建立資料表您可以使用匯入字串精靈,從 *.log 檔案對應到資料庫和資料表來匯入資料。

使用精靈可能非常繁瑣,因此下列可以用來加速匯入網頁記錄:
BULK INSERT [dbo].[tablename] FROM 'c:\weblog.log'WITH (    FIELDTERMINATOR = ' ',    ROWTERMINATOR = '\n')				

請注意,大量插入時遇到以 #"開頭的行,將會失敗。Web 日誌的這包括前四個幾行,以及任何其他執行個體當伺服器停止並重新啟動該服務時,會寫入標頭行自從啟動。 下列 「 Microsoft 知識庫 」 文件提供公用程式並原始程式碼以移除這行程式碼,並準備大量插入到 SQL Server 中的記錄檔:
296093FILE: PrepWebLog 公用程式準備 IIS 記錄檔 SQL 大量插入
完成匯入後,您可以使用 Query Analyzer 来執行查詢來組織資料。例如:
Select [cs-uri-stem], [time-taken] from tablename where [time-taken] >= 20000 and time between '1899-12-30 16:30:00.000' and '1899-12-30 17:30:00.000' 				
這個查詢會顯示,花了處理超過 20 秒,已為每個處理 4: 30 到 5: 30 PM,一起處理時間 (以毫秒為單位) 之間所有頁面的名稱。

請注意由記錄檔會記錄於格林威治標準時間的預設 Web,所以除非已變更記錄中當地時間的記錄檔必須時,您調整的當地時間檢閱記錄檔。

另一個查詢的範例:
Select distinct [cs-uri-stem], [time-taken] from tablename where [time-taken] > (select avg([time-taken]) from tablename)order by [time-taken] desc				
此查詢尋找平均值 [時間-採取] 為記錄檔的檔案中的每個項目,然後選取 [cs-URI-莖],在 [時間-採取] 並組織這依遞減順序,由 [時間採取]。 加入"之間的時間"子句可以進一步隔離此查詢的結果。
参考
注意:大量插入不適用於 SQL Server 7.0,但是它不會使用 SQL Server 2000。如需詳細資訊按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
272292注意: 錯誤 7399 大量時將插入字或小數資料行上的資料行預設具有資料表
如需相關資訊 LocalTimeRollover IIS 記錄檔及 LogFileLocaltimeRollover 設定:

警告:本文為自動翻譯

內容

文章識別碼:296085 - 最後檢閱時間:12/06/2015 02:03:21 - 修訂: 3.3

Microsoft Internet Information Server 3.0, Microsoft Internet Information Server 4.0, Microsoft Internet Information Services 5.0

  • kbnosurvey kbarchive kbmt kbhowto KB296085 KbMtzh
意見反應