[转]DBCC (Transact-SQL)
http://msdn.microsoft.com/zh-cn/library/ms188796.aspx
Transact-SQL 编程语言提供 DBCC 语句以作为 SQL Server 的数据库控制台命令。
数据库控制台命令语句可分为以下类别。
命令类别 |
执行 |
---|---|
维护 |
对数据库、索引或文件组进行维护的任务。 |
杂项 |
杂项任务,如启用跟踪标志或从内存中删除 DLL。 |
信息 |
收集并显示各种类型信息的任务。 |
验证 |
对数据库、表、索引、目录、文件组或数据库页的分配进行的验证操作。 |
DBCC 命令使用输入参数并返回值。 所有 DBCC 命令参数都可以接受 Unicode 和 DBCS 文字。
以下 DBCC 命令对 数据库引擎 创建的内部只读数据库快照执行操作。 这样可以防止在执行这些命令时出现阻塞和并发问题。 有关详细信息,请参阅数据库快照 (SQL Server)。
DBCC CHECKALLOC |
DBCC CHECKDB |
DBCC CHECKCATALOG |
DBCC CHECKFILEGROUP |
DBCC CHECKTABLE |
在执行这些 DBCC 命令之一时,数据库引擎创建一个数据库快照,并将其置于在事务上一致的状态。 然后,DBCC 命令对该快照运行检查。 DBCC 命令完成后,将删除该快照。
有时,不需要内部数据库快照或无法创建内部数据库快照。 出现这种情况时,将针对实际数据库执行 DBCC 命令。 如果数据库联机,DBCC 命令使用表锁确保它所检查的对象的一致性。 该行为与指定 WITH TABLOCK 选项时的行为相同。
执行 DBCC 命令时,不创建内部数据库快照:
针对 master,并且 SQL Server 的实例以单用户模式运行。
针对 master 之外的其他数据库,但已使用 ALTER DATABASE 语句将该数据库置于单用户模式。
针对只读数据库。
针对已使用 ALTER DATABASE 语句设置为紧急模式的数据库。
针对 tempdb。 在这种情况下,由于内部限制不能创建数据库快照。
使用 WITH TABLOCK 选项。 在这种情况下,DBCC 允许该请求但不创建数据库快照。
当针对以下对象执行 DBCC 命令时,该命令将使用表锁而不是内部数据库快照:
只读文件组
FAT 文件系统
不支持“命名流”的卷
不支持“备用流”的卷
注意 |
---|
尝试使用 WITH TABLOCK 选项运行 DBCC CHECKALLOC 或 DBCC CHECKDB 的等价部分时,需要使用数据库 X 锁。 该数据库锁不能对 tempdb 或 master 设置,对其他所有数据库进行设置时也可能会失败。 |
注意 |
---|
如果无法创建内部数据库快照,则对 master 运行 DBCC CHECKDB 时将失败。 |
sys.dm_exec_requests 目录视图包含有关 DBCC CHECKDB、CHECKFILEGROUP 和 CHECKTABLE 命令的进度和当前执行阶段的信息。 percent_complete 列指示命令完成的百分比,command 列报告命令执行的当前阶段。
进度单位的定义取决于 DBCC 命令的当前执行阶段。 有时,根据数据库页的粒度报告进度,而在其他阶段,则根据单个数据库或分配修复的粒度报告进度。 下表对每个执行阶段以及命令报告进度的粒度进行了说明。
执行阶段 |
说明 |
进度报告粒度 |
---|---|---|
DBCC TABLE CHECK |
在该阶段中将检查数据库中对象的逻辑和物理一致性。 |
在数据库页级别报告进度。 每检查 1000 个数据库页更新进程报告值一次。 |
DBCC TABLE REPAIR |
如果指定 REPAIR_FAST、REPAIR_REBUILD 或 REPAIR_ALLOW_DATA_LOSS 并且存在必须修复的对象错误,则在该阶段执行数据库修复。 |
在单个修复级别报告进度。 每次完成修复时更新计数器。 |
DBCC ALLOC CHECK |
在该阶段中将检查数据库中的分配结构。 注意 DBCC CHECKALLOC 执行相同检查。 |
不报告进度。 |
DBCC ALLOC REPAIR |
如果指定 REPAIR_FAST、REPAIR_REBUILD 或 REPAIR_ALLOW_DATA_LOSS 并且存在必须修复的分配错误,则在该阶段执行数据库修复。 |
不报告进度。 |
DBCC SYS CHECK |
在该阶段中将检查数据库系统表。 |
在数据库页级别报告进度。 每检查 1000 个数据库页更新进程报告值一次。 |
DBCC SYS REPAIR |
如果指定 REPAIR_FAST、REPAIR_REBUILD 或 REPAIR_ALLOW_DATA_LOSS 并且存在必须修复的系统表错误,则在该阶段执行数据库修复。 |
在单个修复级别报告进度。 每次完成修复时更新计数器。 |
DBCC SSB CHECK |
在该阶段中将检查 SQL Server Service Broker 对象。 注意 执行 DBCC CHECKTABLE 时,不执行此阶段。 |
不报告进度。 |
DBCC CHECKCATALOG |
在该阶段中将检查数据库目录的一致性。 注意 执行 DBCC CHECKTABLE 时,不执行此阶段。 |
不报告进度。 |
DBCC IVIEW CHECK |
在该阶段中将检查数据库中存在的任何索引视图的逻辑一致性。 |
在被检查的单个数据库视图级别报告进度。 |
[转]DBCC (Transact-SQL)的更多相关文章
- 2009-04-19 22:40 SQL SERVER游标的讲解
游标和游标的优点 在数据库中,游标是一个十分重要的概念.游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多条数据记录的结 果集中每次提取一条记录的机制.游标总 ...
- 非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry 大牛
非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry 大牛 Glenn Berry 大牛会对这个脚本持续更新 -- SQL Server 2012 Diagnost ...
- T-SQL、JET SQL、PL-SQL
数据库分为网状.层状.关系.对象四种类型,目前的数据库一般都是属于关系数据库(包括MYSQL和SQL SERVER),网状.层状基本上已成历史,对象类型尚未普及. SQL 语言是有 ANSI 标准的. ...
- SQL SERVER 简介及应用 - 数据库系统原理
SQL SERVER 是一个分布式的关系型数据库管理系统(RDBMS),具有客户 - 服务器体系结构,一般发行的版本有企业版.标准版.个人版.开发版. SQL SERVER 提供的服务 MS SQL ...
- SQL Server中的锁 详解 nolock,rowlock,tablock,xlock,paglock
摘自: http://www.myexception.cn/sql-server/385562.html 高手进 锁 nolock,rowlock,tablock,xlock,paglock 锁 no ...
- 人人都是 DBA(VI)SQL Server 事务日志
SQL Server 的数据库引擎通过事务服务(Transaction Services)提供事务的 ACID 属性支持.ACID 属性包括: 原子性(Atomicity) 一致性(Consisten ...
- DBCC常用命令小汇
DBCC是SQL Server提供的一组控制台命令,功能很强大,掌握一些必要的语句,对操作数据库有不少帮助,所以决定整理一下,发现已有不少类似的整理,减少了不少工作,归类如下: 一.DBCC 帮助类命 ...
- SQL SERVER CURSOR游标的使用(转载)
一:认识游标 游标(Cursor)它使用户可逐行访问由SQL Server返回的结果集. 使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式. 用SQL语言从数据库中检索数据 ...
- SQL Server 诊断查询-(4)
Query #41 Memory Clerk Usage -- Memory Clerk Usage for instance -- Look for high value for CACHESTOR ...
- SQL Server数据库学习总结
经过一段时间的学习,也对数据库有了一些认识,数据库基本是由表,关系,操作组成:对于初学者首先要学的 一图胜“十”言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数 ...
随机推荐
- HDU1166 数状数组
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- Android Annotations(2)
AndroidAnnotations是一个开源框架,旨在加快Android开发的效率.通过使用它开放出来的注解api,你几乎可以使用在任何地方, 大大的减少了无关痛痒的代码量,让开发者能够抽身其外,有 ...
- NOR和NAND
NOR和NAND NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面.紧接着,198? ...
- Android性能优化之启动速度优化
Android性能优化之启动速度优化 Android app 启动速度优化,首先谈谈为什么会走到优化这一步,如果一开始创建 app 项目的时候就把这个启动速度考虑进去,那么肯定就不需要重新再来优化 ...
- JAVA中java.util.Date、java.sql.Timestamp和String之间的互相转换
java.util.Date与的String互转 java.util.Date---->String /** * 将java.util.Date对象转化为String字符串 * @param d ...
- MongoDB基本命令行操作
1. 连接MongoDB: Mongodb://username:password@hostname/dbname 2. 创建数据库: use dbname:如果数据库不存在则创建数据库,否则切换到指 ...
- 快速部署Telegraf & Influxdb
是什么? Telegraf 是一个用 Go 编写的代理程序,可收集系统和服务的统计数据,并写入到 InfluxDB 数据库.Telegraf 具有内存占用小的特点,通过插件系统开发人员可轻松添加支持其 ...
- asp.net中使用jquery ajax保存富文本的问题
前提:为了保证页面的不刷新行为,所以采用了html+jquery+handler的页面保存方式,通过ajax将富文本内容传递给一般处理程序进行操作. 一.问题:1.大文件无法上传? 2.传入handl ...
- FastDFS 集群 安装 配置
这篇文章介绍如何搭建FastDFS 集群 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的 ...
- HDU 6121 Build a tree(找规律+模拟)
Build a tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)To ...