SQL Server数据库管理员必备的DBCC命令

一、了解DBCC

DBCC(database consistenecy checker,简称dbcc) 是一个实用命令集,用来检查数据库的逻辑一致性及物理一致性。

数据库控制台命令语句可分为以下类别:

维护: 对数据库、索引或文件组进行维护的任务。

杂项: 杂项任务,如启用跟踪标志或从内存中删除 DLL。

信息: 收集并显示各种类型信息的任务。

验证: 对数据库、表、索引、目录、文件组或数据库页的分配进行的验证操作

二、DBBCC维护语句:对数据库、索引或文件组进行维护的任务

DBCC CLEANTABLE。回收删除的可变长度列和文本列的空间。

DBCC CLEANTABLE

(

{ 'database_name' | database_id | 0 }

,{ 'table_name' | table_id | 'view_name' | view_id }

[ , batch_size ]

)

[ WITH NO_INFOMSGS ]

DBCC INDEXDEFRAG。指定表或视图的索引碎片整理。

DBCC INDEXDEFRAG

(

{ 'database_name' | database_id | 0 }

, { 'table_name' | table_id | 'view_name' | view_id }

, { 'index_name' | index_id }

, { partition_number | 0 }

)

[ WITH NO_INFOMSGS ]

DBCC DBREINDEX。 对指定数据库中的表重新生成一个或多个索引。

DBCC DBREINDEX

(

'table_name'

[ , 'index_name' [ , fillfactor ] ]

)

[ WITH NO_INFOMSGS ]

DBCC SHRINKDATABASE。 收缩指定数据库中的数据文件大小。

DBCC SHRINKDATABASE

( 'database_name' | database_id | 0

[ ,target_percent ]

[ , { NOTRUNCATE | TRUNCATEONLY } ]

)

[ WITH NO_INFOMSGS ]

DBCC DROPCLEANBUFFERS。 从缓冲池中删除所有清除缓冲区。DBCC DROPCLEANBUFFERS [ WITH NO_INFOMSGS ]

DBCC SHRINKFILE。 收缩相关数据库的指定数据文件或日志文件大小。

DBCC SHRINKFILE

(

{ 'file_name' | file_id }

{ [ , EMPTYFILE ]

| [ [ , target_size ] [ , { NOTRUNCATE | TRUNCATEONLY } ] ]

}

)

[ WITH NO_INFOMSGS ]

DBCC FREEPROCCACHE。 从过程缓存中删除所有元素。DBCC FREEPROCCACHE [ WITH NO_INFOMSGS ]

DBCC UPDATEUSAGE 报告目录视图中的页数和行数错误并进行更正。

DBCC UPDATEUSAGE

( { 'database_name' | database_id | 0 }

[ , { 'table_name' | table_id | 'view_name' | view_id }

[ , { 'index_name' | index_id } ] ]

) [ WITH [ NO_INFOMSGS ] [ , ] [ COUNT_ROWS ]

]

三、DBBCC验证语句:对数据库、表、索引、目录、文件组或数据库页的分配进行的验证操作

DBCC CHECKALLOC。检查指定数据库的磁盘空间分配结构的一致性。

DBCC CHECKALLOC

[

(

[ 'database_name' | database_id | 0 ]

[ , NOINDEX

|

{ REPAIR_ALLOW_DATA_LOSS

| REPAIR_FAST

| REPAIR_REBUILD

} ]

)

]

[ WITH { [ ALL_ERRORMSGS ]

[ , NO_INFOMSGS ]

[ , TABLOCK ]

[ , ESTIMATEONLY ]

}

]

DBCC CHECKFILEGROUP。检查当前数据库中指定文件组中的所有表的分配和结构完整性。

DBCC CHECKFILEGROUP

[

(

[ { 'filegroup_name' | filegroup_id | 0 } ]

[ , NOINDEX ]

)

]

[ WITH

{

[ ALL_ERRORMSGS ]

[ NO_INFOMSGS ] ]

[ , [ TABLOCK ] ]

[ , [ ESTIMATEONLY ] ]

}

]

DBCC CHECKCATALOG。检查指定数据库内的目录一致性。数据库必须联机。

DBCC CHECKCATALOG

[

(

'database_name' | database_id | 0

)

]

[ WITH NO_INFOMSGS ]

DBCC CHECKIDENT。 检查指定表的当前标识值,如有必要,则更改标识值。

DBCC CHECKIDENT

(

'table_name'

[ , {

NORESEED | { RESEED [ , new_reseed_value ] }

}

]

)

[ WITH NO_INFOMSGS ]

DBCC CHECKCONSTRAINTS。 检查当前数据库中指定表上的指定约束或所有约束的完整性。

DBCC CHECKCONSTRAINTS

[

(

'table_name' | table_id | 'constraint_name' | constraint_id

)

]

[ WITH

{ ALL_CONSTRAINTS | ALL_ERRORMSGS } [ , NO_INFOMSGS ]

]

DBCC CHECKTABLE。检查组成表或索引视图的所有页和结构的完整性。

DBCC CHECKTABLE

(

'table_name' | 'view_name'

[ , NOINDEX

| index_id

| { REPAIR_ALLOW_DATA_LOSS

| REPAIR_FAST

| REPAIR_REBUILD }

]

)

[ WITH

{ [ ALL_ERRORMSGS ]

[ , [ NO_INFOMSGS ] ]

[ , [ TABLOCK ] ]

[ , [ ESTIMATEONLY ] ]

[ , [ PHYSICAL_ONLY ] ]

}

]

DBCC CHECKDB。检查指定数据库中所有对象的分配、结构和逻辑完整性。

DBCC CHECKDB

[

(

'database_name' | database_id | 0

[ , NOINDEX

| { REPAIR_ALLOW_DATA_LOSS

| REPAIR_FAST

| REPAIR_REBUILD

} ]

)

]

[ WITH {

[ ALL_ERRORMSGS ]

[ , [ NO_INFOMSGS ] ]

[ , [ TABLOCK ] ]

[ , [ ESTIMATEONLY ] ]

[ , [ PHYSICAL_ONLY ] ] | [ , [ DATA_PURITY ] ]

}

]

四、DBBCC的信息语句

DBCC SHOW_STATISTICS。显示指定表上的指定目标的当前分发统计信息。

DBCC INPUTBUFFER.显示从客户端发送到 Microsoft SQL Server 2005 实例的最后一个语句。DBCC INPUTBUFFER ( session_id [ , request_id ] ) [WITH NO_INFOMSGS ]

DBCC SHOWCONTIG.显示指定的表的数据和索引的碎片信息。

DBCC SHOWCONTIG

[ (

{ 'table_name' | table_id | 'view_name' | view_id }

[ , 'index_name' | index_id ]

)]

[ WITH

{

[ , [ ALL_INDEXES ] ]

[ , [ TABLERESULTS ] ]

[ , [ FAST ] ]

[ , [ ALL_LEVELS ] ]

[ NO_INFOMSGS ]

}

]

DBCC OPENTDBCC INPUTBUFFERRAN 如果在指定数据库内存在最早的活动事务和最早的分布式和非分布式复制事务,则显示与之有关的信息

DBCC OPENTRAN

[

( [ 'database_name' | database_id | 0 ] ) ]

{ [ WITH TABLERESULTS ]

[ , [ NO_INFOMSGS ] ]

}

]

DBCC SQLPERF.提供有关如何在所有数据库中使用事务日志空间的统计信息。

DBCC SQLPERF ( LOGSPACE | 'sys.dm_os_latch_stats' , CLEAR | 'sys.dm_os_wait_stats' , CLEAR )

[WITH NO_INFOMSGS ]

DBCC OUTPUTBUFFER.以十六进制和 ASCII 格式返回指定 session_id 的当前输出缓冲区。DBCC OUTPUTBUFFER ( session_id [ , request_id ] )

DBCC TRACESTATUS.显示跟踪标志的状态.DBCC TRACESTATUS ( [ [ trace# [ ,...n ] ] [ , ] [ -1 ] ] )

DBCC PROCCACHE.以表格格式显示有关过程缓存的信息。DBCC PROCCACHE [ WITH NO_INFOMSGS ]

DBCC USEROPTIONS 返回当前连接的活动(设置)的 SET 选项。DBCC USEROPTIONS

五、DBBCC的杂项语句:杂项任务,如启用跟踪标志或从内存中删除 DLL

DBCC HELP。返回指定的 DBCC 命令的语法信息。DBCC HELP ( 'dbcc_statement' | @dbcc_statement_var | '?' )[ WITH NO_INFOMSGS ]

DBCC dllname (FREE)。从内存中上载指定的扩展存储过程 DLL。DBCC dllname ( FREE ) [ WITH NO_INFOMSGS ]

DBCC DBREPAIR 。禁用指定的跟踪标记。DBCC TRACEOFF ( trace# [ ,...n ] [ , -1 ] ) [ WITH NO_INFOMSGS ]

DBCC TRACEON。启用指定的跟踪标记。DBCC TRACEON ( trace# [ ,...n ][ , -1 ] ) [ WITH NO_INFOMSGS ]

六、未公开的DBCC

DBCC ERRLOG

初始化SQL错误日志

DBCC BUFFER

显示缓冲区头部和页面信息

DBCC FLUSHPROCINDB

清楚数据库服务器内存中的某个数据库存储过程的缓存内容。

DBCC DBINFO

显示数据库结果信息

DBCC DATABLE

显示管理数据库的表信息

DBC IND

查看某个索引使用的页面信息。

DBCC REBULDLOG

重建修复SQL数据库事物日志文件。

DBCC LOG

查看某个数据库的事务日志信息

DBCC PAGE

查看某个数据库数据也面信息

DBCC PROCBUF

显示过程缓冲池的缓冲区头和存储过程。

DBCC PRTIPAGE

查看某个索引页面的每行指向的页面号。

DBCC PSS

显示当前连接到SQLSERVER服务器的进程信息。

DBCC RESOURCE

显示服务器当前使用的资源情况。

DBCC TAB

查看数据页面的结构。

SQL Server数据库管理员必备的DBCC命令
一、了解DBCC DBCC(database consistenecy checker,简称dbcc) 是一个实用命令集,用来检查数据库的逻辑一致性及物理一致性。 数据库控制台命令语句可分为以下类别: 维护: 对数据库、索引或文件组进行维护的任务...查看完整版>>SQL Server数据库管理员必备的DBCC命令
 
如何应用SQL Server DBCC避免堵塞
  在危急时刻,数据库一致性检测(DBCC)可能是你最重要的工具。本文向你简单介绍DBCC的功能,它们包括:  检测表和相关目录的完整性。  检测整个数据库。  检测数据库页的完整性。  重建任何指定表中的目录...查看完整版>>如何应用SQL Server DBCC避免堵塞
 
SQL Server数据库超级管理员账号防护知识
提到sa弱口令,我们首先就会想到,许多数据库都有1个类似的超级管理员账号,比如:Oracle是"system"和"sys",Sybase也是"sa",MySQL里有"root"(不是UNIX系统账号的那个root)。如果没有设置相对应的密码或者你设的密码...查看完整版>>SQL Server数据库超级管理员账号防护知识
 
用ADO管理SQL Server数据库及其设备
用ADO管理SQL Server数据库及其设备 来自豆豆技术网  微软公司的SQLServer是目前小型网络中常用的数据库管理系统之一。面向这种网络数据库的应用程序也在日益增多,这种网络数据库应用系统的正常运行,一般都依赖于...查看完整版>>用ADO管理SQL Server数据库及其设备
 
SQL Server 2005—数据库管理10个最重要的特点
  1.数据库镜像 通过新数据库镜像方法,将记录档案传送性能进行延伸。您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性。  2.在线恢复 使用SQL2005版服务...查看完整版>>SQL Server 2005—数据库管理10个最重要的特点
 
用ADO管理SQL Server数据库及其设备
  微软公司的SQLServer是目前小型网络中常用的数据库管理系统之一。面向这种网络数据库的应用程序也在日益增多,这种网络数据库应用系统的正常运行,一般都依赖于已经存在的用户数据库。创建数据库的工作当然可以用...查看完整版>>用ADO管理SQL Server数据库及其设备
 
用ADO管理SQL Server数据库及其设备
用ADO管理SQL Server数据库及其设备 来自豆豆技术网  微软公司的SQLServer是目前小型网络中常用的数据库管理系统之一。面向这种网络数据库的应用程序也在日益增多,这种网络数据库应用系统的正常运行,一般都依赖于...查看完整版>>用ADO管理SQL Server数据库及其设备
 
重启IIS和SQL Server命令
在WEB开发中经常需要重启IIS,每次打开IIS来操作很麻烦,所以我干脆就在桌面新增了一个CMD文件,内容如下:(SQL Server占的内存不少)net stop iisadmin /ynet start w3svc net stop mssqlservernet start mssqlser...查看完整版>>重启IIS和SQL Server命令
 
SQL Server数据库sa密码相关问题的解决方法
1、请教如何查找sqlserver的sa密码? 查询分析器,连接时,身份验证使用"使用windows身份验证" 然后,执行: EXEC sp_password NULL, 'NewPassword', 'Sa' 企业管理器-->实例名-->安全性-->登录-->双击右边...查看完整版>>SQL Server数据库sa密码相关问题的解决方法
 
 
回到王朝网络首页