用于存储IIS日志的数据库模式

时间:2014-04-02 16:13:30

标签: sql-server database iis database-design database-schema

我一直试图想出一个数据库架构来存储IIS日志文件信息,但没有成功。我们的日志目前正在记录,

  • 日期
  • 时间
  • 客户用户名
  • 客户端IP
  • 客户端用户代理
  • 服务器IP
  • 服务器网站名称
  • 状态
  • 子状态
  • 赢得-32状态
  • 请求方法类型
  • URI-干
  • URI查询
  • 端口

什么是良好的数据库设计,允许我解析日志文件并将它们插入SQL Server数据库以供以后查询?我想将它插入到多个巨型表中,以帮助保持数据库的大小不断增长。

1 个答案:

答案 0 :(得分:1)

您可以为字符串列创建查找表:

Client Username
Client IP
Client User Agent
Server IP
Server sitename
Request method type
URI-Stem
URI-query

我会将每个查找表设置为相同。例如,对于clientusername

ClientUsername
ID - int unique
VALUE - VARCHAR(100)

然后,当您处理一行时,您将获取用户名值并查看它是否在ClientUsername表中,如果是这样,您在Client Username列中添加具有该ID号的行。如果不是,则将新用户名添加到查找表中并获取新ID并使用该用户名。

对要引用查找表的每列重复此步骤。

从表中选择时,您只需加入查找表即可获取值列。