WEB开发网
开发学院数据库MSSQL Server 设计SQL Server里审计数据表 阅读

设计SQL Server里审计数据表

 2008-08-30 09:58:44 来源:WEB开发网   
核心提示: 让我们详细解释每一列来帮助理解:1.[HumanResources].[EmployeePayHistory_Audit_Generic]AuditID - 识别表里每一行的主键 AuditColumnID - 在行值ColumnName - 基础列名Depending on how th

让我们详细解释每一列来帮助理解:

1.[HumanResources].[EmployeePayHistory_Audit_Generic]

AuditID - 识别表里每一行的主键

AuditColumnID - 在行值

ColumnName - 基础列名

Depending on how the data is queried this could be the column ID from the system tables, a user defined lookup column ID or the actual column name as is the case in our example 根据查询数据的方式,这可以是系统表的列ID,也可以是用户自定义查询列ID,或者象本例子里那样是原来的列名称。

这个数据也可以存储在 AuditData (xml)列中。

AuditData - XML存储审计数据

ModifiedDate - 插入记录的日期

这个数据也可以存储在 AuditData (xml)列中

ModifiedBy - 对该数据做出修改的用户的用户名

这个数据也可以存储在 AuditData (xml)列中

根据数据存储的位置(例如,实例、中心等),有必要存储更多的数据用于制作报表。可能需要添加的列包括:

1.实例 - 从SQL Server实例角度出发创建的集中化审计

源数据库

2.应用程序 - 按照业务应用程序创建的集中化审计

源数据库

源程序

3.环境 - 所有SQL Server实例通用的集中化审计

源数据库

源程序

源SQL Server实例

除了刚才说过的需要向表添加额外的列之外,建立起允许复制数据或者直接向表中直接写入数据的基础设施也同样必要。这需要采用下面的一种或多种方法:

1.给账户添加权限

2.在触发器中加入中央写入的逻辑代码

3.在程序中添加一行单独的审计连接字符串

4.建立一个“已连接服务器”使用户能够写入数据

5.在本地写数据,然后从中央复制备份。

6.使用SQL Server Integration Services来获取数据并本地写入具体的区间。

7.使用Service Broker把数据写入一行集中处理

上一页  1 2 3 4 

Tags:设计 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接