【问题标题】:Error: Writing IIS logs to SQL Server database via ODBC错误:通过 ODBC 将 IIS 日志写入 SQL Server 数据库
【发布时间】:2014-12-17 00:11:38
【问题描述】:

我正在尝试将 IIS 日志导入数据库。按照本网站http://blog.datacenterfromhell.net/2013/08/how-to-write-iis-logs-to-database-using.html 中给出的步骤进行操作

它似乎不起作用,在 Windows 事件日志中出现错误.. 事件编号:1016 错误:万维网发布服务(WWW 服务)没有为站点 1 配置日志记录。数据字段包含错误号。

环境: 操作系统 - Windows 7 DB - SQL Server 2008 R2 Express 版

如果您之前遇到过同样的错误,请帮忙。

谢谢,纳文

添加的步骤:

第 1 步:创建数据库

在任何 Microsoft SQL 服务器上创建一个空数据库。确保用于为网站提供服务的应用程序池的身份具有对该数据库的写入权限。

第 2 步:使用 logtemp.sql 脚本创建表

在 C:\Windows\System32\inetsrv\ 中你会找到一个名为 logtemp.sql 的脚本,用它在你刚刚创建的数据库中创建一个表。

第 3 步:在指向

的 Web 服务器上创建系统 DSN

在指向在步骤 1 中创建的数据库的 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 set config -section:ODBCLogging -datasource:IISLoggingDSN -tableName:InternetLog -username:DOMAIN\IISLogsUser -password:P@SSwoRD$

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

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

-tableName:数据库中表的名称

-用户名:有权写入数据库的 Active Directory 域帐户

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

第 6 步:为一个网站启用 ODBCLogging

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

C:\Windows\System32\inetsrv> appcmd 设置站点“默认网站”-logFile.logFormat:Custom -logFile.customLogPluginClsid:{FF16065B-DE82-11CF-BC0A-00AA006111E0}

重要提示:customLogPluginClsid 属性必须设置为“{FF16065B-DE82-11CF-BC0A-00AA006111E0}” 我从 Microsoft 文档中获取的这个 ID。它定义了自定义格式是 ODBCLogging。 让我也整理一下这些开关:

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

进行了测试

-logFile.logFormat:通过配置 Custom 我们配置将使用自定义格式

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

【问题讨论】:

  • 我无法查看链接...因此,如果您可以编辑帖子以列出您正在执行的步骤的要点,那就太好了。
  • 我遇到了同样的问题。它表明类 id FF16065B-DE82-11CF-BC0A-00AA006111E0 未在系统中注册。

标签: iis logging odbc iis-7.5 dsn


【解决方案1】:

Naveen,你满足所有先决条件了吗?

  • 应将其日志写入数据库的 IIS 网站必须由使用 AD 域帐户身份运行的应用程序池提供服务。
  • 同一个 AD 域帐户必须对作为 IIS 日志目标的数据库具有 RW 访问权限。
  • 必须在 IIS 服务器上安装 ODBC 和自定义日志记录

几个月前我写了这篇博文。您也可以通过博客的 cmets 与我联系。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多