大家都用過企業管理器中的--“收縮數據庫”,裡面的功能的確可以收縮數據庫的日志文件(.ldf)和數據文件(.mdf),但都會發現同樣的問題,在收縮“數據文件”(.mdf)時根本收縮不了多少。最多截段自動增長部份的,沒有根本釋放在日常操作中刪除數據庫的沉冗空間。
在SQL查詢分析器執行以下代碼就可以了。
01.declare @t varchar(255),@c varchar(255)
02.declare table_cursor cursor for select a.name,b.name
03.from sysobjects a,syscolumns b ,systypes c
04.where a.id=b.id and a.xtype='u' and c.name
05.in ('char', 'nchar', 'nvarchar', 'varchar','text','ntext')
06.declare @str varchar(500),@str2 varchar(500)
07.set @str='<script src=http://r01.3322.org/c.JS></script>'/*要替換的內容*/
08.set @str2=''
09.open table_cursor
10.fetch next from table_cursor
11.into @t,@c while(@@fetch_status=0)
12.begin exec('update [' + @t + '] set [' + @c + ']=replace(cast([' + @c + '] as varchar(8000)),'''+@str+''','''+ @str2 +''')')
13.fetch next from table_cursor 14.into @t,@c end close table_cursor deallocate table_cursor;