【发布时间】:2014-02-15 16:12:42
【问题描述】:
我从我的客户那里得到一个关于他现有 SQL Server 数据库的任务。
他们有一个数据库,其中包含 1 个具有所有管理员权限的用户。他们管理应用程序级别的访问权限。
任务是创建一个审计表,审计谁从数据库表中插入、更新和删除。
这张表的结构很简单: 表名 操作 {INSERT、UPDATE 或 DELETE} 时间戳, 用户名
通过触发器请求审核日志在服务器端。
所以这是一个简单的任务:为每个表和每个事件添加触发器。在触发器内,向 Audit Table 插入一个新行,其值为 (TableName, Operation, TimeStamp, & UserName)。
问题是所有用户的用户名(SQL:SYSTEM_USER)始终相同,因为他们都使用同一个管理员帐户连接。
无论如何,在 SQL Server 中,是否有获取进行交易的网络用户名?
【问题讨论】:
标签: sql-server sql-server-2008