如何记录用户在MS Access中删除记录的内容?

时间:2012-02-14 16:37:55

标签: sql-server sql-server-2005 ms-access ms-access-2003

这是一个MS Access应用程序,其中包含指向SQL Server的链接表。我需要在SQL Server上记录这个,因为我无法修改MS Access应用程序。

应用程序通过默认的SQL用户名连接到SQL Server。

1 个答案:

答案 0 :(得分:3)

您需要一个触发器,以及一个存储结果的表。非常快速的原型:

CREATE TRIGGER dbo.trigger_name
ON dbo.table_name
FOR DELETE
AS
    INSERT INTO dbo.LogTable(RowID, UserName)
        SELECT PK_Column, SUSER_SNAME()
        FROM deleted;
GO

请注意,除非每个Access用户自己对SQL Server进行身份验证,否则您可能需要使用主机名或其他属性来识别它们(如果它们都作为同一个SQL用户连接,则SQL Server可以做很少的事情来确定他们真的是谁。)