SQL Server - 上次输入记录的用户

时间:2015-06-16 17:14:42

标签: sql-server vb.net

我在其上创建了一个带有vb.net的数据库。用户正在将记录输入系统并进行更新。有没有办法捕获谁输入或更新了数据库?

示例:

LastModifiedBy |  CreatedBy 
Joe Bob        |  Sally Joe 

2 个答案:

答案 0 :(得分:1)

由于您在连接字符串中使用预定义的用户名和密码,因此您的选项仅限于.NET端。通过数据库,您可以访问执行更新/插入/删除的计算机名称,但不能访问哪些用户。 SYSTEM_USER将始终返回连接字符串中指定的帐户。

如果您确实需要访问运行应用程序的用户的Windows用户名,则需要更新VB.NET代码以将其作为参数传递给您的查询并将其记录在某些列中。结合历史记录表,可以为您提供关于谁正在更改数据的全面情况(通过SSMS直接数据编辑之外)。

Environment.UserName属性是您正在寻找的内容,您可以找到更多here

答案 1 :(得分:-1)

ALTER trigger [dbo].[audit_trigger] on [dbo].[table_name] for insert, update, delete
as
 begin

insert into audit(user,table,time_stamp) values (SYSTEM_USER,'table_name',getdate())
end

或在表格中创建一个字段用户并创建默认的SYSTEM_USER

相关问题