2010年7月3日 星期六

在SSMS刪除舊版DTS版本的方法

過去在SQL 2000用EM可以在DTS上按右鍵選版本,可以很容易的把舊版本的封裝刪除,保留太多版本可是會佔空間的,可是到了SQL 2005,SSMS好像沒有選項可以這麼作,刪除是直接把整各封裝給刪掉呢,而且若版本超過一個,開啟時還要選版本有點麻煩,過去在EM可是直接開最新的說,所以會想說如何把舊的版本刪掉呢?想到最簡單的方法就去MSDB內把舊版本刪掉就好啦,寫了一個簡單的Script,會印出該封裝名稱與對應刪除的指令,執行那個指令後會保留最新的版本喔


with dts as
(select distinct [name],id,(select TOP 1 createdate from dbo.sysdtspackages where id = a.id order by createdate desc) as createdate from dbo.sysdtspackages a)
select [name],('delete from dbo.sysdtspackages where id like ''' + cast(id as varchar(50)) + ''' and createdate < ''' + cast(createdate as varchar(50)) + '''') as '執行我' from dts
 
印出結果如下(把右邊delete...的複製貼上後執行)
 
不知有沒有人有更好的方法?

0 意見:

張貼留言