SQLServer表归档一般用存储过程实现:
USE [DB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE Proc [dbo].[Proc_BackupSysDataLog]
as
INSERT INTO [DB].[dbo].[SysDataLog_H]
([SysNo]
,[OptTime]
,[OptUserID]
,[OptIP] )
SELECT top 300000 [SysNo]
,[OptTime]
,[OptUserID]
,[OptIP]
FROM [dbo].[SysDataLog] where [OptTime]
and not EXISTS (SELECT 1 FROM DB..SysDataLog_H a WHERE a.SysNo=SysDataLog.SysNo)
DELETE TOP(300000)
from [SysDataLog]
WHERE [OptTime]
a WHERE a.SysNo=SysDataLog.SysNo)
然后在SQLServer的作业里面建一个作业计划,定时执行这个存储过程就可以。