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

  • 来源: 赛迪网 作者: yan   2009-08-02/09:08
  • 一、了解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 CHECK 1000 CONSTRAINTS

    [

    (

    '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 ] ]

    }

    ]


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多