[转]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 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 CHECKCATALOG |
在该阶段中将检查数据库目录的一致性。
|
不报告进度。 |
|
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 数据库总结 一个大概的总结 经过一段时间的学习,也对数 ...
随机推荐
- 在SQL中用正则表达式替换html标签(2)
由于数据库的一个表字段中多包含html标签,现在需要修改数据库的字段把html标签都替换掉.当然我可以通过写一个程序去修改,那毕竟有点麻烦.直接在查询分析器中执行,但是MS SQL Server并没有 ...
- hiveQL求差集
hive sql求差集的方法 1.什么是差集 set1 - set2,即去掉set1中存在于set2中的数据. 2.hive中计算差集的方法,基本是使用左外链接. 直接上代码 select * fro ...
- JAVA编程入门
java最早是由Sun公司基于C++开发而成的新一代编程语言也是现行下的主流行编程语言,其原始的主要用于嵌入式开发.java的第一个版本为JDK1.0,到2017年已经升级到JAK1.9版本.java ...
- WAMPServer配置修改及问题汇总
备忘录 软件版本wampserver2.5-Apache-2.4.9-Mysql-5.6.17-php5.5.12-64b -------------------------------------- ...
- Servlet 笔记-异常处理
当一个 Servlet 抛出一个异常时,Web 容器在使用了 exception-type 元素的 web.xml 中搜索与抛出异常类型相匹配的配置. 必须在 web.xml 中使用 error-pa ...
- [oracle 使用(1)] win7/10 下Oracle10g的安装与卸载
1.安装前提 首先要确保你的电脑之前没有安装过,或者安装过但是已经卸载干净了.至于如何查看是否卸载干净可以看看我后面的Oracle卸载步骤. 2.Oracle的安装. 2.1.首先自己在Oracle官 ...
- iOS 之 UITextField
UITextField 相关细节处理: 1. 设置leftView , rightView let leftView = UIView() // 设置leftView/rightView之后,勿忘设 ...
- Element ui表格展示多张图片问题
显示一张图片的方法: <el-table-column label="头像" width="100"> <template scope=&qu ...
- IsoAlgo3d - A PCF 3D Viewer for Desktop, Tablet and Smart phone
IsoAlgo3d - A PCF 3D Viewer for Desktop, Tablet and Smart phone eryar@163.com Abstract. IsoAlgo3d 通过 ...
- [Bayesian] “我是bayesian我怕谁”系列 - Markov and Hidden Markov Models
循序渐进的学习步骤是: Markov Chain --> Hidden Markov Chain --> Kalman Filter --> Particle Filter Mark ...
注意