国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

一次性壓縮Sqlserver2005中所有庫日志的存儲過程

2024-08-31 00:57:52
字體:
來源:轉載
供稿:網友
有沒有辦法更快一點?
有沒有辦法一次性收縮所有數據庫?

復制代碼 代碼如下:


alter database 數據庫名
set recovery simple
go
dbcc shrinkdatabase (數據庫名)
go
alter database 數據庫名
set recovery full
go


目前也有壓縮日志的工具,一個B/S界面形式的操作壓縮數據庫的,就是在選擇數據庫的時候老需要重新去選擇具體的庫,而且數據庫數量很大的時候,有些庫被壓縮了,并沒有自動排序; 目前需要的是被壓縮后的數據庫自動滾到最后面,每次下拉列表中打開的始終是日志記錄容量最大的那個庫,這個容易實現,要求就是執行日志壓縮的時候,執行速度要快些?
如何優化?有沒有辦法一次性壓縮所有的庫?
通過存儲過程實現,一次性壓縮所有數據庫:在Sqlserver2005中測試通過

復制代碼 代碼如下:


create procedure shrinkDatabase
as
declare @name nvarchar(2000)
declare getDataBaseCursor cursor for
select name from sysdatabases //取出所有庫名
open getDataBaseCursor
fetch next from getDataBaseCursor
into @name //將取出來的值放在一個變量中
while @@fetch_status=0 //根據值循環執行壓縮
begin
exec ('alter database '+ @name+' set recovery simple')
exec ('dbcc shrinkdatabase('+@name+')')
exec ('alter database'+@name+' set recovery full')
fetch next from getDataBaseCursor
into @name end
close getDataBaseCursor //關閉
deallocate getDataBaseCursor //釋放
sp_helpdb urltest //比對數據庫大小
exec shrinkDatabase //執行

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 眉山市| 东兰县| 新津县| 宿松县| 锡林浩特市| 塔城市| 海兴县| 定西市| 承德县| 涡阳县| 伊宁县| 田林县| 渭南市| 策勒县| 龙井市| 水城县| 太白县| 墨玉县| 深圳市| 都江堰市| 河北省| 临泽县| 平顺县| 白玉县| 巴南区| 瑞昌市| 阿勒泰市| 益阳市| 汾西县| 安陆市| 且末县| 莱州市| 宝鸡市| 商南县| 正定县| 满城县| 黑河市| 荃湾区| 英山县| 齐河县| 闽侯县|