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

文章翻译 文章翻译
文章编号: 245243 - 查看本文应用于的产品
我们强烈建议所有用户都升级到在 Microsoft Windows Server 2008 上运行的 Microsoft Internet Information Services (IIS) 7.0 版。IIS 7.0 大大提高了 Web 基础结构的安全性。有关 IIS 安全性的相关主题的更多信息,请访问下面的 Microsoft Web 站点:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
有关 IIS 7.0 的详细信息,请访问下面的 Microsoft 网站:
http://www.iis.net/default.aspx?tabid=1
展开全部 | 关闭全部

本文内容

概要

在 Internet Information Server (IIS) 4.0、Internet Information Services (IIS) 5.0 和 Internet Information Services (IIS) 6.0 中,您可以配置开放式数据库连接 (ODBC) 日志记录功能,允许对本地的 Microsoft Access 数据库或本地或远程 Microsoft SQL Server 数据库进行日志记录。

创建表

在 Microsoft Access 或 SQL Server 数据库中创建表。若要执行此操作,请按照中的步骤 运行自动创建表的 SQL 脚本 一节,或通过使用字段中的手动创建表 表的字段的格式 一节。在 Internet 服务管理器 (ISM) Microsoft 管理控制台 (MMC) 中的 ODBC 日志记录属性页上,默认表名称是 InternetLog。

注意: 这些步骤适用于万维网 (WWW) 或文件传输协议 (FTP) 的 Web 服务器上的记录。

运行自动创建表的 SQL 脚本

如果您使用的一台正在运行 SQL Server 的计算机,可以使用名为 Logtemp.sql 包含 IIS 事务处理性 SQL 脚本创建 IIS ODBC 日志记录表。若要执行此操作,请执行以下步骤:
  1. 登录到正在运行 SQL Server 的计算机上具有管理访问权限的用户帐户的服务器上。
  2. 打开 SQL Server 查询分析器。
  3. 文件菜单上,单击打开
  4. 定位到 %Windir%\System32\Inetsrv 文件夹。
  5. 单击Logtemp.sql,然后再单击打开
  6. 在 Logtemp.sql 脚本的第一行,将替换为与inetlogInternetLog.
  7. 选择要创建的 InternetLog 表的数据库。默认情况下,数据库母版,但 Microsoft 不建议使用此数据库。
  8. 单击查询,然后单击执行

表的字段的格式

FieldName: ClientHost
Data Source/Type: Varchar(255)
Explanations: Client IP address.

FieldName: Username
Data Source/Type: Varchar(255)
Explanations: User name for the client. If the page is not password-protected, this is always the anonymous user name.

FieldName: LogTime
Data Source/Type: Datetime
Explanations: Date and time that the log entry was created.

FieldName: Service
Data Source/Type: Varchar(255)
Explanations: Name of the service. This can be WWW, FTP, or some other name.

FieldName: Machine
Data Source/Type: Varchar(255)
Explanations: Server name.

FieldName: ServerIP
Data Source/Type: Varchar(255)
Explanations: Server IP address.

FieldName: ProcessingTime
Data Source/Type: Int
Explanations: Time spent on request processing (in milliseconds).

FieldName: BytesRecvd
Data Source/Type: Int
Explanations: Number of bytes received.

FieldName: BytesSent
Data Source/Type: Int
Explanations: Number of bytes sent.

FieldName: ServiceStatus
Data Source/Type: Int
Explanations: Service status, such as 200.

FieldName: Win32Status
Data Source/Type: Long Integer
Explanations: Windows NT status code. 0 typically indicates success.

FieldName: Operation
Data Source/Type: Varchar(255)
Explanations: Type of the operation or command. For example, this may be USER for FTP or GET for WWW.

FieldName: Target
Data Source/Type: Varchar(255)
Explanations: Target of the operation. For example, this may be Default.htm.

FieldName: Parameters
Data Source/Type: Varchar(255)
Explanations: Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER.

创建一个系统 DSN

注意: 此示例使用 SQL Server 7.0。
  1. 在 IIS 计算机上,打开控制面板双击 ODBC 数据源,单击系统 DSN选项卡,然后单击添加
  2. 创建新数据源窗口出现时,单击以选择SQL Server,然后单击完成
  3. 名称框中,键入 HTTPLOG键入说明,单击以选中您要连接到的 SQL 服务器,然后单击下一步。如果 SQL 服务器是同一台计算机上,选择(本地)
  4. 在创建向导中,请确保您单击以选中使用 Windows NT 身份验证使用网络登录 ID正在运行 SQL Server 的计算机。检查客户端配置,并使用默认的命名管道设置。请确保 SQL 服务器名称正确,然后再单击确定
  5. 单击下一步
  6. 映射到模板表所在的数据库的默认数据库,然后单击下一步
  7. 如果您愿意,您可以单击以选中向导中的保存长时间运行的查询为日志文件日志文件的 ODBC 驱动程序统计信息
  8. 单击完成
  9. 在向导结束时,单击测试数据源。请确保您已成功连接到正在运行 SQL Server 的计算机,然后单击确定以退出。

将 IIS 配置为 ODBC 日志记录


  1. 在 ISM MMC 中,右键单击 Web 站点,然后单击属性
  2. 单击网站选项卡。
  3. 活动日志格式列表中,单击以选择ODBC 日志记录。如果您选择 Windows NT 集成的身份验证设置的系统 DSN 映射到正在运行 SQL Server 的计算机时,您可以忽略用户名和密码 ODBC 日志记录属性页上。
  4. 单击应用,然后单击确定注意: 如果在 ODBC 日志记录属性页上指定了科目,则 SQL Server 表中的用户名字段为空,或包含短划线 (-)。如果使用了域帐户,帐户名称将出现在 SQL Server 日志记录表中。

  5. : 如果在 ODBC 日志记录属性页上指定了科目,则 ISM MMC 中,右键单击 Web 站点,然后单击停止以停止您的 Web 站点。
  6. : 如果在指定了科目,则 ODBC 日志记录属性页,用鼠标右键单击该 Web 站点,并再单击开始以重新启动您的 Web 站点。

对于 ODBC 日志记录的建议

  • Microsoft 不建议使用 IIS 日志记录到 SQL Server 表如果 IIS 计算机是一个繁忙的服务器。将日志记录数据发送到 SQL Server 数据库中为网站繁忙所消耗的系统资源。在这种情况下,您可能需要导入 IIS 日志到 SQL 数据库以后。有关将 IIS 日志导入到 SQL 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    296085 如何使用 SQL Server 来分析 Web 日志
    296093 PrepWebLog 实用程序对 SQL 进行大容量插入准备 IIS 日志
  • 默认情况下,日志记录配置 SQL Server 连接使用命名管道。如果您使用的远程计算机正在运行 SQL Server,您可能需要配置 SQL Server 连接的 TCP/IP。

故障排除

如果 InternetLog 表配置不正确,或者如果正确的用户未被授予正确的权限为 InternetLog 表,则可能收到事件 ID 为 5、 事件 ID 6 (与源 IISLOG),或同时在事件查看器的系统日志中。

注意: 对于其他的数据库系统,必须配置系统 DSN,以链接的数据库和表中包含有关日志记录格式,相应的字段,然后按照中的步骤 将 IIS 配置为 ODBC 日志记录 若要设置日志记录。

参考

有关 ODBC 日志记录问题的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
149398 SQL Server 到 IIS 日志记录失败,并显示空白的用户名和密码
192293 IIS 停止后无法有效沟通与 SQL Server ODBC 日志记录
256839 当您使用 ODBC 日志记录不记录长 URL 请求或参数
有关将 IIS 日志导入到 SQL 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
296085 如何使用 SQL Server 来分析 Web 日志
296093 PrepWebLog 实用程序对 SQL 进行大容量插入准备 IIS 日志

属性

文章编号: 245243 - 最后修改: 2014年3月3日 - 修订: 13.0
这篇文章中的信息适用于:
  • Microsoft Internet Information Services 6.0
关键字:?
kbhowtomaster kbmt KB245243 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 245243
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com