jiangyuxuan

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
DBCC是SQL Server提供的一组控制台命令,功能很强大,掌握一些必要的语句,对操作数据库有不少帮助,所以决定整理一下,发现已有不少类似的整理,减少了不少工作,归类如下:


一、DBCC 帮助类命令

* DBCC HELP('?')
查询所有的DBCC命令
* DBCC HELP('命令')
查询指定的DBCC命令的语法说明
* DBCC USEROPTIONS
返回当前连接的活动(设置)的SET选项

二、DBCC 检查验证类命令

* DBCC CHECKALLOG ('数据库名称')
检查指定数据库的磁盘空间分配结构的一致性
* DBCC CHECKCATALOG ('数据库名称')
检查指定数据库的系统表内和系统表间的一致性
* DBCC CHECKCONSTAINTS ('tablename')
检查指定表上的指定约束或所有约束的完整性
* DBCC CHECKDB
检查数据库中的所有对象的分配和结构完整性
* DBCC CHECKFILEGROUP
检查指定文件组中所有表在当前数据库中的分配和结构完整性
* DBCC CHECKTABLE
检查指定表或索引视图的数据、索引及test、ntest和image页的完整性
* DBCC CHECKIDENT
检查指定的当前标识值
* DBCC SQLPERF(UMSSTATS) undocumented in BOL
可以用来检查是否CPU使用达到瓶颈
最关键的一个参考数据num runnable,表明当前有多少个线程再等待运行
如果大于等于2,考虑CPU达到瓶颈

三、DBCC 维护类命令

* DBCC CLEANTABLE ('db_name','table_name')
回收Alter table drop column语句删除可变长度列或text
* DBCC DBREINDEX
重建指定数据库的一个或多个索引
* DBCC INDEXDEFRAG
对表或视图上的索引和非聚集索引进行碎片整理
* DBCC PINTABLE (db_id,object_id)
将表数据驻留在内存中
查看哪些表驻留在内存的方法是:
select objectproperty(object_id('tablename'),‘tableispinned')
* DBCC UNPINTABLE (db_id,object_id)
撤消驻留在内存中的表
* DBCC SHRINKDATABASE(db_id,int)
收缩指定数据库的数据文件和日志文件大小
* DBCC SHRINKFILE(file_name,int)
收缩相关数据库的指定数据文件和日志文件大小

四、DBCC 性能调节命令

* DBCC dllname(FREE)
sp_helpextendedproc 查看加载的扩展PROC
在内存中卸载指定的扩展过程动态链接库(dll)
* DBCC DROPCLEANBUFFERS
从缓冲池中删除所有缓冲区
* DBCC FREEPROCCACHE
从过程缓冲区删除所有元素
* DBCC INPUTBUFFER
显示从客户机发送到服务器的最后一个语句
* DBCC OPENTRAN (db_name)
查询某个数据库执行时间最久的事务,由哪个程序拥有
* DBCC SHOW_STATISTICS
显示指定表上的指定目标的当前分布统计信息
* DBCC SHOWCONTIG
显示指定表的数据和索引的碎片信息
* DBCC SQLPERF
(logspace) 查看各个DB的日志情况
posted on 2011-06-24 00:56  江宇旋  阅读(344)  评论(0编辑  收藏  举报