資料庫定時刪除曆史資料的SQL指令,曆史資料sql指令

來源:互聯網
上載者:User

資料庫定時刪除曆史資料的SQL指令,曆史資料sql指令


新增作業,用於定時清除資料庫的曆史資料

刪除表gps_comm 之前120天即一個季度的資料,如下:

ELETE FROM gps_comm

WHERE (時間 < GETDATE() - 120)

如果想繼續刪除另外一個表中的前120天的資料,則繼續補充就可以了,如:

DELETE FROM PzTable

WHERE (PZTIME <GETDATE() - 120)


怎定時刪除SQL資料庫

USE master
go

DECLARE @s NVARCHAR(4000)
SET @s=''
SELECT @s=@s+' '+'DROP DATABASE '+QUOTENAME(name) FROM master..sysdatabases WHERE dbID>4

EXEC( @s)
go

作業的操作

企業管理器
--管理
--SQL Server代理
--右鍵作業
--新增作業
--"常規"項中輸入作業名稱
--"步驟"項
--建立
--"步驟名"中輸入步驟名
--"類型"中選擇"Transact-SQL 指令碼(TSQL)"
--"資料庫"選擇執行命令的資料庫
--"命令"中輸入要執行的語句:
上面提供的指令碼

--確定
--"調度"項
--建立調度
--"名稱"中輸入調度名稱
--"調度類型"中選擇你的作業執行安排
--如果選擇"反覆出現"
--點"更改"來設定你的時間安排

然後將SQL Agent服務啟動,並設定為自動啟動,否則你的作業不會被執行

設定方法:
我的電腦--控制台--管理工具--服務--右鍵 SQLSERVERAGENT--屬性--啟動類型--選擇"自動啟動"--確定.
 
資料庫定時刪除的問題

用Sql Server 的job也就是作業,定時的執行指定的預存程序就行,在預存程序裡面寫sql語句就行,想幹嘛就幹嘛。至於代碼,還真不會直接寫job的代碼,都是通過介面操作實現的。sql server 2000 是在企業管理器下的SQL Server代理下,sql server 2005/2008是SQL Server Management Studio下的SQL Server代理下,具體的可以搜尋一下
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.