このトリガーは、dbo.node から dbo.nodearchive にデータをバックアップします。バックアップは重要ですが、これを行う必要があるのは 1 日に 1 回だけです。dbo.NodeArchive.versionDate (smalldDatetime) というフィールドがあることに注意してください。
CREATE TRIGGER [dbo].[Node_update]
ON [dbo].[Node]
for UPDATE
AS
BEGIN
INSERT INTO dbo.NodeArchive ([NodeID]
,[ParentNodeID]
,[Slug]
,[xmlTitle]
...
,[ModifyBy]
,[ModifyDate]
,[CreateBy]
,[CreateDate])
SELECT [deleted].[NodeID]
,[deleted].[ParentNodeID]
,[deleted].[Slug]
,[deleted].[xmlTitle]
...
,[deleted].[ModifyBy]
,[deleted].[ModifyDate]
,[deleted].[CreateBy]
,[deleted].[CreateDate]
FROM [deleted] LEFT JOIN dbo.Node
ON [deleted].NodeID = dbo.Node.NodeID
WHERE deleted.ModifyDate <> dbo.Node.ModifyDate
END
GO
変更のバックアップを検討していますが、1 日に複数のバックアップ バージョンを使用することはありません。変更がない場合、バックアップはありません。