园内@Fish Li的文章《IIS日志-网站运维的好帮手》中介绍将IIS的文本格式的文件导入数据库的方法。在实践中,我们发现导数据的速度很慢,一个200M的日志文件居然要近100分钟。我们需要能够比较实时地在数据库中看到日志,故而需要寻找一种可以直接将数据存入数据库的方法。搜索资料后,发现IIS本身就提供了这个功能。

以下是一些链接:

Configure IIS 8.0 Log to SQL Server

ODBC Logging <odbcLogging>

如何在 IIS 中配置 ODBC 日志记录

iis日志用SQL存储

按照上述资料介绍的做了之后,发现日志项可以成功地保存到数据库,但是以下的几个字段却取不到值:

(1)ProcessingTime,

(2)BytesRecvd,

(3)BytesSent

于是开始折腾。

(1)猜测可能ODBC的版本配置错了,于是将64位的换成32位的。还是不行。

(2)猜测可能IIS的版本错了,于是将iis由iis express8.0换成iis7.5,还是不行。再换成iis8.0,还是不行。

(3)猜测可能是不支持集成连接数据库,于是为数据库设置密码。还是不行。

(4)猜测可能是配置文件弄错了,于是照着微软的文档修改配置文件,还是不行。

最后不想折腾了,在网上找了资料,发现这居然是IIS日志模块的一个bug,在iis6.0的时候,这个功能是正常的。但是到了iis7.0之后,这个功能就坏掉了,微软一直都没有修复它。晕。

希望这篇文章能让后来者少走些弯路。

在下一篇文章中,我会介绍另外一种方法。这种方法可以达到预期的目的。

IIS日志存入数据库之一:ODBC的更多相关文章

  1. IIS日志存入数据库之二:ETW

    在上一篇文章<IIS日志存入数据库之一:ODBC>中,我提到了ODBC方式保存的缺点,即:无法保存响应时间以及接收和响应的字节数. 如果一定要获取响应时间以及接收和响应的字节数的话,就要另 ...

  2. WebAPI + log4net日志 存入数据库

    1.首先选择你的项目 打开net管理控制台 输入 install-package log4net 进行安装  也可以 在net包 搜索 log4net 2.安装完之后 在Models文件夹 创建一个L ...

  3. 利用LogParser将IIS日志插入到数据库

    利用LogParser将IIS日志插入到数据库 上面的博文是定制一个计划任务来将log日志定时的导入数据库      下面这篇博文是用cmd指令将日志导入到一张sql表中,是一次性操作   Log P ...

  4. 把IIS日志导入到数据库

    1.建表 CREATE TABLE [dbo].[inetlog0828]( [date] [date] NULL, ) NULL, ) NULL, ) NULL, ) NULL, ) NULL, [ ...

  5. IIS日志-网站运维的好帮手

    对于一个需要长期维护的网站来说,如何让网站长久稳定运行是件很有意义的事情. 有些在开发阶段没有暴露的问题很有可能就在运维阶段出现了,这也是很正常的. 还有些时候,我们希望不断地优化网站,让网站更快速的 ...

  6. 【一步一图】:详解IIS日志配置

    打开网站配置:右键点击属性 弹出设置界面     如上图,日志可选4种格式: [Microsoft IIS 日志文件格式]   存放地址如上图 以in开头 年份后两位+月份+日 命名: 示例: //, ...

  7. 网站运维工具使用iis日志分析工具分析iis日志(iis日志的配置)

    我们只能通过各种系统日志来分析网站的运行状况,对于部署在IIS上的网站来说,IIS日志提供了最有价值的信息,我们可以通过它来分析网站的响应情况,来判断网站是否有性能问题,或者存在哪些需要改进的地方 对 ...

  8. 【转】IIS日志-网站运维的好帮手

    对于一个需要长期维护的网站来说,如何让网站长久稳定运行是件很有意义的事情. 有些在开发阶段没有暴露的问题很有可能就在运维阶段出现了,这也是很正常的. 还有些时候,我们希望不断地优化网站,让网站更快速的 ...

  9. 读取iis日志到sql server

    using Fasterflect; using System; using System.Collections.Generic; using System.Data.SqlClient; usin ...

随机推荐

  1. EXISTS 和 IN 的区别

    exists子句的用法 select * from 表1 where exists (select * from 表2 where 表1.列名=表2.列名); exists子句返回的结果并不是从数据库 ...

  2. 20165213 java学习第一周

    20165213 -2018-2<Java程序设计>第一周学习总结 教材学习内容总结 java的四个特点:面向对象.平台无关性.动态性.简单. java编写程序步骤:再有jdk的情况下,先 ...

  3. 虚函数与bind 实现设计模式的练习

    相同模式使用虚函数与bind function进行实现对比 #include "stdafx.h" #include <iostream> #include <f ...

  4. dedecms首页搜索 添加仿百度下拉框

    1:找到uploads/templets/default/head.htm 2: 找到 <input name="q" type="text"  clas ...

  5. 在myeclipse上发布自己的webservice

       什么是WebServices? 它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含.自描述.模块化的应用,可以发布.定位.通过w ...

  6. 840. Magic Squares In Grid

    class Solution { public: int numMagicSquaresInside(vector<vector<int>>& grid) { ; in ...

  7. idea中使用thymeleaf标签时有红色的波浪线怎么去掉

    使用最新版本的idea2017可以解决,方法如下: 选择File->Settings->Editor->Inspections,然后搜索thymeleaf 将Expression v ...

  8. 2019.01.24 bzoj2310: ParkII(轮廓线dp)

    传送门 题意简述:给一个m*n的矩阵,每个格子有权值V(i,j) (可能为负数),要求找一条路径,使得每个点最多经过一次且点权值之和最大. 思路:我们将求回路时的状态定义改进一下. 现在由于求的是路径 ...

  9. 2018.12.22 spoj7258 Lexicographical Substring Search(后缀自动机)

    传送门 samsamsam基础题. 题意简述:给出一个串,询问第kkk大的本质不同的串. 然而这就是弦论的简化版. 我们把samsamsam建出来然后贪心选择就行了. 代码: #include< ...

  10. Java数组的初始化

    1.动态初始化 数据类型 [] 变量名 = new 数据类型 [数组大小]; //数组的动态初始化 int [] arr = new int [3]; 2.静态初始化 数据类型 [] 变量名 = {元 ...