[ s_ip ] [ varchar ] ( 255 ) NULL , [ cs_method ] [ varchar ] ( 255 ) NULL , [ cs_uri_stem ] [ varchar ] ( 255 ) NULL , [ cs_uri_query ] [ varchar ] ( 1024 ) NULL , [ s_port ] [ int ] NULL , [ cs_username ] [ varchar ] ( 255 ) NULL , [ c_ip ] [ varchar ] ( 255 ) NULL , [ cs_User_Agent ] [ varchar ] ( 255 ) NULL , [ sc_status ] [ int ] NULL , [ sc_substatus ] [ int ] NULL , [ sc_win32_status ] [ int ] NULL , [ time_taken ] [ int ] NULL , CONSTRAINT [ PK__Online_tj__164452B1 ] PRIMARY KEY CLUSTERED ( [ ID ] ASC ) WITH (PAD_INDEX = OFF , STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON ) ON [ PRIMARY ] ) ON [ PRIMARY ] GO SET ANSI_PADDING OFF GO USE [ Log_IIS ] /* ***** Object: Index [IX_Online_tj_CI_LCCC] Script Date: 10/28/2011 17:08:29 ***** */ CREATE NONCLUSTERED INDEX [ IX_Online_tj_CI_LCCC ] ON [ dbo ] . [ Online_tj ] ( [ cs_uri_stem ] ASC , [ ID ] ASC ) INCLUDE ( [ logtime ] , [ c_ip ] , [ cs_uri_query ] , [ cs_User_Agent ] ) WITH (PAD_INDEX = OFF , STATISTICS_NORECOMPUTE = OFF , SORT_IN_TEMPDB = OFF , IGNORE_DUP_KEY = OFF , DROP_EXISTING = OFF , ONLINE = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON ) ON [ PRIMARY ] GO USE [ Log_IIS ] /* ***** Object: Index [ix_Online_tj_logtime] Script Date: 10/28/2011 17:08:29 ***** */ CREATE NONCLUSTERED INDEX [ ix_Online_tj_logtime ] ON [ dbo ] . [ Online_tj ] ( [ logtime ] ASC ) WITH (PAD_INDEX = OFF , STATISTICS_NORECOMPUTE = OFF , SORT_IN_TEMPDB = OFF , IGNORE_DUP_KEY = OFF , DROP_EXISTING = OFF , ONLINE = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON ) ON [ PRIMARY ] GO
添加SQL脚本
/*
logparser file:tj_insert.sql?start=starttime+end=endtime+log=logfilename
input parameter:
start - starttime example:1:00:00 or 18:00:00
end - endtime example:1:09:59 or 18:59:59
log - logfilename example:ex10111601 or ex10111618
*/
Select TO_TIMESTAMP(date,time), TO_TIMESTAMP(date,time), s - ip, cs - method, cs - uri - stem, cs - uri - query, s - port, cs - username, c - ip,
cs( User - Agent), sc - status, sc - substatus, sc - win32 - status, time - taken
INTO
Log_IIS.dbo.Online_tj
FROM
E:\tj\IISLog\W3SVC10\ % log % . log
WHERE TO_LOCALTIME(Time) BETWEEN TO_TIMESTAMP( ‘ %start% ‘ , ‘ h:mm:ss ‘ ) AND TO_TIMESTAMP( ‘ %end% ‘ , ‘ h:mm:ss ‘ )
添加VBS自动导入数据脚本
d = DateAdd ( " n " , - 6 , Now())
strDate = Right ( "" &( 100 + Year (d)), 2 ) & Right ( "" &( 100 + Month (d)), 2 ) & Right ( "" &( 100 + Day (d)), 2 )
strHr = Hour (time())
strMin = Minute (time())
starttime = timeserial (strHr, strMin - 6 , 0 )
endtime = timeserial (strHr, strMin - 2 , 59 )
strHr = Right ( "" &( 100 + Hour (starttime)), 2 )
logfilename = " u_ex " & strDate
Set WshShell = Wscript.CreateObject( " Wscript.Shell " )
Wscript.Echo starttime & " : " & endtime & " : " & logfilename
strCMD = "Cmd /k LogParser file:E:\tj\tj_insert.sql?start= " & starttime & _
" +end= " & endtime & " +log= " & logfilename & _
" -iw:ON -i:iisw3c -o:sql -oConnString:""Driver={SQL Server};Server=(local);db=Log_IIS;uid=sa;pwd=123"" "
Wscript.Echo strCMD
WshShell.run strCMD, 1 , false
配置path路径,大功告成!
运行截图
数据库生成日志
查看更多关于知方可补不足~利用LogParser将IIS日志插入到数据库的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did118472