SQLServer進行表歸檔

ywxj_001發表於2022-01-04

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]<DATEADD(day,-3,getdate())

  and not EXISTS (SELECT 1 FROM DB..SysDataLog_H a WHERE a.SysNo=SysDataLog.SysNo)


   

  DELETE TOP(300000)   

  from [SysDataLog]

  WHERE  [OptTime]<DATEADD(day,-3,getdate()) and EXISTS (SELECT 1 FROM DB..SysDataLog_H

 a WHERE a.SysNo=SysDataLog.SysNo)


然後在SQLServer的作業裡面建一個作業計劃,定時執行這個儲存過程就可以。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22996654/viewspace-2850532/,如需轉載,請註明出處,否則將追究法律責任。

相關文章