SQL Server中常使用的DBCC命令

http://www.itjxue.com  2015-07-17 09:23  来源:未知  点击次数: 

DBCC(Database Consistenecy Checker)命令是一个实用命令集,用来检查一个数据库的逻辑一致性及物理一致性。
主要分为四类:

维护语句:
DBCC DBREINDEX:重建指定表中的一个或多个索引 
DBCC DBREINDEX
    (    'database.owner.table_name'   
            [ , index_name
                [ , fillfactor ]
            ]
    )    [ WITH NO_INFOMSGS ]

 

DBCC INDEXDEFRAG:整理指定的表或试图的聚簇索引和辅助索引碎片

DBCC INDEXDEFRAG
    ( { database_name | database_id | 0 }
        , { table_name | table_id | 'view_name' | view_id }
        , { index_name | index_id }
    )    [ WITH NO_INFOMSGS ]

DBCC SHRINKDATABASE:收縮指定数据库的数据文件的大小

DBCC SHRINKDATABASE
    ( database_name [ , target_percent ]
        [ , { NOTRUNCATE | TRUNCATEONLY } ]
    )


DBCC SHRINKFILE:收縮指定数据库的数据文件或日志文件大大小

DBCC SHRINKFILE
    ( { file_name | file_id }
        { [ , target_size ]
            | [ , { EMPTYFILE | NOTRUNCATE | TRUNCATEONLY } ]
        }
    )

DBCC UPDATEUSAGE:报告和更正sysindexes表的不正确內容

DBCC UPDATEUSAGE
    (    { 'database_name' | 0 }
        [ , { 'table_name' | 'view_name' }
        [ , { index_id | 'index_name' } ] ]
    )
    [ WITH    [ COUNT_ROWS ] [ , NO_INFOMSGS ]
        ]

杂项语句:

DBCC TRACEON/OFF:开启关闭指定的跟踪标记

DBCC TRACEON/OFF ( trace# [ ,...n ] )

状态语句:

DBCC SHOWCONTIG:显示指定的表的数据和索引的碎片信息(使用 DBCC SHOWCONTIG 和 DBCC INDEXDEFRAG 对数据库中的索引进行碎

片整理)

DBCC SHOWCONTIG
    [    ( { table_name | table_id | view_name | view_id }
            [ , index_name | index_id ]
        )
    ]
    [ WITH { ALL_INDEXES
                | FAST [ , ALL_INDEXES ]
                | TABLERESULTS [ , { ALL_INDEXES } ]
                [ , { FAST | ALL_LEVELS } ]
            }
    ]

DBCC SHOW_STATISTICS:显示指定表上的指定目标的當前分布统计信息

DBCC SHOW_STATISTICS ( table , target )


验证语句:

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

DBCC CHECKALLOC
    ( 'database_name'
            [ , NOINDEX
                |
                { REPAIR_ALLOW_DATA_LOSS
                    | REPAIR_FAST
                    | REPAIR_REBUILD
                } ]
    )    [ WITH { [ ALL_ERRORMSGS | NO_INFOMSGS ]
                    [ , [ TABLOCK ] ]
                    [ , [ ESTIMATEONLY ] ]
                }
        ]

DBCC CHECKCATALOG:检查指定数据库中的系统表內及系统表之间的一致性

DBCC CHECKCATALOG
    ( 'database_name'
    )    [ WITH NO_INFOMSGS ]


DBCC CHECKCONSTRAINTS:检查指定表上的指定约束或所有约束的完整性

DBCC CHECKCONSTRAINTS
    [( 'table_name' | 'constraint_name'
    )]

    [ WITH { ALL_ERRORMSGS | ALL_CONSTRAINTS } ]


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

DBCC CHECKDB
    ( 'database_name'
            [ , NOINDEX
                | { REPAIR_ALLOW_DATA_LOSS
                    | REPAIR_FAST
                    | REPAIR_REBUILD
                    } ]
    )    [ WITH { [ ALL_ERRORMSGS ]
                    [ , [ NO_INFOMSGS ] ]
                    [ , [ TABLOCK ] ]
                    [ , [ ESTIMATEONLY ] ]
                    [ , [ PHYSICAL_ONLY ] ]
                    }
        ]

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

DBCC CHECKFILEGROUP
    ( [ { 'filegroup' | filegroup_id } ]
        [ , NOINDEX ]
    )    [ WITH { [ ALL_ERRORMSGS | NO_INFOMSGS ]
                    [ , [ TABLOCK ] ]
                    [ , [ ESTIMATEONLY ] ]
                    }
        ]

DBCC CHECKTABLE:检查指定表或索引视图中的数据、索引及text,ntext和image页的完整性

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

(责任编辑:IT教学网)

更多

推荐SQL Server文章