2014-02-18 75 views
1

我正在尝试将IIS日志读取到数据库。遵循的步骤在本网站给出http://blog.datacenterfromhell.net/2013/08/how-to-write-iis-logs-to-database-using.html错误:通过ODBC将IIS日志写入SQL Server数据库

它似乎没有工作,得到了在Windows事件日志中的错误.. 事件ID:1016 错误:万维网发布服务(WWW服务)没有配置记录站点1.数据字段包含错误编号。

环境: OS - Windows 7的 DB - 的SQL Server 2008 R2 Express版本

请帮助,如果你也遇到同样的错误之前。

谢谢,纳文

步骤补充说:

第1步:创建DB

创建任何Microsoft SQL Server上一个空数据库。确保用于服务于Web站点的应用程序池的标识具有对此数据库的写入访问权限。

第2步:使用logtemp.sql脚本

在C语言中创建一个表:\ WINDOWS \ SYSTEM32 \ INETSRV \你会发现一个脚本调用logtemp.sql,用它在数据库中创建一个表你刚创建。

第3步:指向

指向在步骤1中 创建的数据库在Web服务器上创建一个系统DSN在Web服务器上创建系统DSN,我会建议使用的标识的IIS应用程序池配置ODBC连接,因为此帐户稍后还会将日志数据写入数据库。让我们打电话给我们的DSN IISLoggingDSN。 在这篇文章中,我解释了如何创建一个系统DSN。

第4步:列表ODBCLogging设置

打开提升的cmd并将目录更改为C:\ WINDOWS \ SYSTEM32 \ INETSRV> 要获得到目前为止配置的所有ODBCLogging设置的列表,运行此命令。

C:\ WINDOWS \ SYSTEM32 \ INETSRV> APPCMD列表配置-section:ODBCLogging

这应该是空的。

第5步:设置ODBCLogging设置

要设置ODBCLogging连接,发出以下命令:

appcmd设置配置-section:ODBCLogging -datasource:IISLoggingDSN -tableName:InternetLog -username: DOMAIN \ IISLogsUser -password:P @ $提供ssword

让我解释一下开关: -section:SectionName我们要配置

-datasource:我们在步骤中配置的DSN的名称3.

-tableName:在数据库中的表名

-username:有权限写入数据库的Active Directory域帐户

-password:该用户的密码,它将被存储在配置文件中的加密

步骤6:启用ODBCLogging一个网站

要启用网站的日志记录,请运行此命令。

C:\ WINDOWS \ SYSTEM32 \ INETSRV> appcmd设置站点 “默认Web站点” -logFile.logFormat:自定义-logFile.customLogPluginClsid:{FF16065B-DE82-11CF-BC0A-00AA006111E0}

重要: customLogPluginClsid属性必须设置为“{FF16065B-DE82-11CF-BC0A-00AA006111E0}” 此ID是我从Microsoft文档获取的。它定义了自定义格式是ODBCLogging。 让我简化房间这些开关以及:

-sites:将写日志的网站,我“默认Web站点”

-logFile.logFormat测试:通过配置定制我们配置自定义格式将被用于

-logFile.customLogPluginClsid:{FF16065B-DE82-11CF-BC0A-00AA006111E0}:见上

+1

我不能查看链接...所以如果你可以编辑你的文章列出你正在执行的步骤的要点,那将是非常棒的。 –

+0

以下是步骤 –

+0

我遇到同样的问题。它接缝的类ID为FF16065B-DE82-11CF-BC0A-00AA006111E0未在系统中注册。 – Oscar

回答

0

纳文,你有没有满足所有先决条件?

  • 应将其日志写入数据库的IIS网站必须由正在使用AD域帐户标识运行的应用程序池提供服务。
  • 相同的AD域帐户必须具有对数据库的RW访问权限,该数据库将成为IIS日志的目标。必须在IIS服务器

上安装

  • ODBC和自定义日志记录我写这篇博客在几个月前。您也可以通过博客的评论与我联系。