資料庫定時刪除曆史資料的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代理下,具體的可以搜尋一下