設定自動收縮資料庫

2022-02-08 22:34:18 字數 1255 閱讀 1024

--注意事項:

sql server 不會持續測試達到為自動收縮配置的閾值的資料庫。

相反,它會尋找可用的資料庫並找出第乙個配置為自動收縮的資料庫。

它將檢查該資料庫,並在需要時收縮該資料庫。然後,它會等待幾分鐘,

再檢查下乙個配置為自動收縮的資料庫。

換句話說,sql server 不會同時檢查所有資料庫,也不會同時收縮所有資料庫。

它將以迴圈方式處理各個資料庫,以使負載在時間上錯開。

也就是說收縮的時間不可控, 所以產品環境一般不會設定,對於開發,測試環境的可以設定.

對於系統資料庫分發資料庫不能設定(master, model, msdb, tempdb和 sys.databases.is_distributor = 1 的)

下面為**實現:

declare

@sql

varchar(max

)set

@sql=''

select

@sql

=@sql+'

exec sp_dboption

'+name+

',

''autoshrink

'',

''true'''

+char(10)+

char(13) from

sys.databases

print (@sql)--

如需要執行 將print 改寫為exec

--

第一次寫有點失敗,老大說儲存過程過時了,讓改db下面的方法為老大的提示所做:

declare

@sql

varchar(max

) set

@sql=''

select

@sql

=@sql+'

alter database '+

'['+ name +']

'+'set auto_shrink on'+

char(10)+

char(13) from

sys.databases

where is_distributor <>

1and is_auto_shrink_on =

0and database_id not

in (1,2,3,4

) print (@sql)--

is_auto_shrink_on這個選項是對資料庫是否為自動收縮,對於已經設定了的則不用再做修改.

收縮資料庫

sql 2008 右擊要清除日誌的資料庫 選擇 屬性 在資料庫屬性中 選擇 選項 在右邊 恢復模式 下拉列表框中 選擇 簡單 單擊確定 返回 右擊要清除日誌的資料庫 選擇 任務 收縮 資料庫 單擊確定 完成收縮 指令碼 use master goalter database dnname set r...

收縮資料庫

顯示當前資料庫的空間使用情況 exec sp spaceused 顯示表的空間使用 exex sp spaceused objname wct updateusage true 顯示整個伺服器中所有資料庫的日誌使用情況 dbcc sqlperf logspace 收縮資料庫 dbcc shrinkd...

資料庫 收縮

引用 資料庫中的每個檔案都可以通過刪除未使用的頁的方法來減小。儘管資料庫引擎會有效地重新使用空間,但某個檔案多次出現無需原來大小的情況後,收縮檔案就變得很有必要了。資料和事務日誌檔案都可以減小 收縮 可以成組或單獨地手動收縮資料庫檔案,也可以設定資料庫,使其按照指定的間隔自動收縮。檔案始終從末尾開始...