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