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,
size=1024
6、 在数据库设备上创建dbccdb数据库
create database dbccdb
on dbcc_dat=13
log on dbccdb_log=2
7、 添加磁盘段
use dbccdb
sp_addsegment scanseg,dbccdb,dbccdb_dat
sp_addsegment textseg,dbccdb,dbccdb_dat
本文章共3页,当前在第1页 1 2 3