dbcc checkstorage檢查數據庫的一致性。在新版本的數據庫中用處比任何一個DBCC命令都大,尤其在數據庫備份前。這篇文章的用意是幫助你:
掌握dbcc checkstorage命令
維護dbccdb數據庫
根據dbccdb生成報告
本文使用的案例中,你將首先由sp_plan_dbccdb的輸出得到運行dbcc
checkstorage命令所需資源環境,並在此基礎上規劃資源,建立dbccdb數據庫,最終根據dbccdb數據庫生成報告。
本節練習將基於如下環境:
系統中存在用戶數據庫aca_db,容量為20MB(數據10MB、日志10MB)
aca_db數據庫占用disk1和disk2兩個設備
aca_db數據庫中有若干個用戶表(auths,article等)
步驟如下:
1、為目標數據庫獲取有關數據庫大小、設備工作空間的大小,高速緩存大小和工作進程數的建議。
sp_plan_dbccdb aca_db
執行結果為:
Recommended size for dbccdb database is 15MB (data = 13MB, log =
2MB).
No suitable devices for dbccdb in master..sysdevices.
Recommended values for workspace size, cache size and process count
are:
dbname scan ws text ws cache process count
aca_db 272K 80K 1280K 2
(return status = 0)
2、如果必要,調整Adaptive Server的工作進程數
3、 為dbcc創建命名高速緩存
配置一個dbcc
checkstorage專用的命名高速緩存,不僅可以提高性能並且還可以使數據庫的一致性檢查對其他用戶的影響降到最小。
Dbcc
checkstorage要求在命名高速緩存的16k內存池中為每個工作進程准備至少640k的存儲空間,16k內存池的最小容量為推薦的高速緩存容量。
Sp_cacheconfig aca_cache,”3072k”
(注意:重新啟動Adaptive Server才起作用)
4、配置16k的I/O緩存池
sp_poolconfig aca_cache,”2048”,”16k”
使用sp_poolconfig aca_cache命令查看命名高速緩存,結果如下
Cache Name Status Type Config Value Run Value
---------- ------ ---- ------------ ---------
aca_cache Active Mixed 3.00 Mb 3.00 Mb
IO Size Wash Size Config Size Run Size APF Percent
------- --------- ----------- -------- -----------
2 Kb 204 Kb 0.00 Mb 1.00 Mb 10
16 Kb 400 Kb 2.00 Mb 2.00 Mb 10
4、 如果dbccdb存在,則在創建新的dbccdb數據庫之前,刪除它及其相關的所有設備
use master
go
if exists (select * from master.dbo.sysdatabases
where name = "dbccdb"
begin
print "+++ Dropping the dbccdb database"
drop database dbccdb
end
go
5、 初始化用於dbccdb數據和日志的磁盤設備
disk init
name="dbccdb_dat",
physname="d:\Sybase\example\dbccdata.dat",
vdevno=6,
size=7680
disk init
name="dbccdb_log",
physname="d:\Sybase\example\dbcclog.dat",
vdevno=7,