检查谁将数据添加到表中

时间:2016-12-07 16:15:08

标签: sql-server sql-server-2012

我在生产服务器中有一个表,偶尔会出现神秘的数据。是否有可能跟踪向表中添加数据的历史记录,以找出原因/谁/何时...?我不愿意在表上放置一个触发器(它只会对将来的检查有所帮助),因为数据量通常很大,这可能会影响性能。 我只有db-owner权限,而不是sa权限。

1 个答案:

答案 0 :(得分:1)

您可以在新列中使用默认值,并使用SUSER_SNAME()保存用户名。

实施例

CREATE TABLE [dbo].[Table_1](
    [id] [INT] NULL,
    [name] [NCHAR](100) NULL
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Table_1] ADD  CONSTRAINT [DF_Table_1_name]  DEFAULT (SUSER_SNAME()) FOR [name]
GO