我有一个简单的表在我的SQL Server 2012数据库什么方法可以让我的数据库在更新表或行被删除时创建归档条目?
CREATE TABLE [dbo].[Content] (
[ContentId] INT IDENTITY (1, 1) NOT NULL,
[SubjectId] INT NOT NULL,
[Title] NVARCHAR (50) NOT NULL,
[Text] NVARCHAR (MAX) NOT NULL,
[Version] ROWVERSION NOT NULL,
[CreatedBy] INT NOT NULL,
[CreatedDate] DATETIME NOT NULL,
[ModifiedBy] INT NOT NULL,
[ModifiedDate] DATETIME NOT NULL,
CONSTRAINT [PK_Content] PRIMARY KEY CLUSTERED ([ContentId] ASC)
);
GO
CREATE NONCLUSTERED INDEX [Content_Subject_IX]
ON [dbo].[Content]([SubjectId] ASC);
GO
如果在此表用户编辑或删除数据,则所有的更改都将丢失。我真正喜欢的是以某种方式保留更改。
任何人都可以给我任何建议或指向我一个可能的解决方案。我接受任何建议,并欢迎一些想法。例如,创建一个归档表是否合理,如果我这样做了,那么我怎样才能从数据库中填充该表。有一个简单的方法,我可以用触发器做到这一点?
我希望有人能指出我正确的方向。我没有DBA来征求建议,所以我会很感激任何建议。
如果要保留所有数据,为什么用户允许编辑现有信息,为什么不每次都简单地添加新记录? – 2014-09-29 12:40:01
我希望向用户显示当前数据,但允许管理员进入,编辑和更新备份以防管理员犯了错误。 – 2014-09-29 12:45:14
您可以设置SQL Server每天对数据库进行备份,以防万一有什么不好的事情发生时有人可以恢复最新的备份。 – 2014-09-29 13:26:25