[转]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 数据库总结 一个大概的总结 经过一段时间的学习,也对数 ...
随机推荐
- asp.net中kindeditor配置
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>KindEditor< ...
- WPF 中模拟键盘和鼠标操作
转载:http://www.cnblogs.com/sixty/archive/2009/08/09/1542210.html 更多经典文章:http://www.qqpjzb.cn/65015.ht ...
- gitlab服务器搭建教程
gitlab服务器搭建教程 ----2016年终总结 三 参考https://bbs.gitlab.cc/topic/35/gitlab-ce-8-7-%E6%BA%90%E7%A0%81%E5%AE ...
- Session详解及集群共享
Session的介绍 维基百科:会话(session)是一种持久网络协议,在用户(或用户代理)端和服务器端之间创建关联,从而起到交换数据包的作用机制,session在网络协议(例如telnet或FTP ...
- OpenSCAD 建模:矿泉水瓶花洒
下载地址:https://github.com/ZhangGaoxing/openscad-models/tree/master/Sprinkle 代码: module screw(r=){ ::]) ...
- 上传代码 CodePlex
博客园作为博客备份,博客会更新一份在博客园 CodePlex是微软开源项目网站,有很多人都在上面传代码,我们也可以上传自己的代码 注册 我们可以用微软账号注册,填写用户名.密码,很快就好. 新建项目 ...
- 使用 Skeleton Screen 提升用户感知体验
1024程序猿节"愿世界和平,没有bug",腾讯云社区向改变世界的程序猿致敬! 作者:陈纬杰 一直以来,无论是web还是iOS.android的应用中,为了提升应用的加载等待这段时 ...
- 自学spring AOP
本人是一个编程新手也是第一次写博客 这篇文章是我结合网上的资料和一些书籍学的 如果有不对之处请留言告知 本文介绍了AOP的两个知识点 1: 代理 代理有两种 我先写:Java静态代理 1:建立一个接口 ...
- (转)java的动态代理机制详解
原文出自:http://www.cnblogs.com/xiaoluo501395377/p/3383130.html 在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一 ...
- Input文本框属性及js
<input id="txt_uname" maxlength="16" onblur="validata()" onkeyup=&q ...
注意