日期:2014-05-16  浏览次数:21263 次

使用SQL进行IIS日志中的访问记录统计

背景:需要给客户查询哪些IP访问了软件。并查出IP的地址。只能通过查IIS的日志数据了。

以下方法需要知识:SQL

 

          IIS日志中记录了,网站页面的所有访问记录,包括时间、获取方法、文件的URL、访问者IP,以及协议状态(200是正常)。(更多信息可查看百度百科 IIS日志

         具体方法为:将IIS日志导入数据库中,使用SQL查询语句分析日志中统计数据。方法很简单,仅供参考。

一、      获取表结构

将少量数据复制到excel表中,删除无效数据,然后使用SQL导入向导,导入少量数据,然后将数据删除。注意导入的excel的第一行数据会被判断为列字段。

二、      使用bulk insert语句导入完整日志数据

打开日志文件ex120629.log(举例),将无用的说明数据和第一行数据删除,执行下面的语句

BULK INSERT test.iis29

   FROM 'd:\ ex120629.log'

   WITH 

      (

         FIELDTERMINATOR ='  ',

         ROWTERMINATOR =' \n'

      )

 


 注:导入过程中,有可能会会提示数据超出格式范围,手动修改相关的字段类型为nvchar(MAX),即可。BULK Insert 详细请参考 微软知识库

三、      查询访问记录的统计结果

1.         查询每个IP的访问次数,并按照访问次数排序,执行下面的SQL语句: