亚洲av色香蕉一区二区三区,十四以下岁毛片带血a级,亚洲 校园 欧美 国产 另类,亚洲av日韩av一区谷露,色欲av无码一区二区三区

  • 相關軟件
    >DBCC CHECKDB 創(chuàng)建者:webmaster 更新時間:2006-02-16 15:51

    檢查指定數(shù)據(jù)庫中的所有對象的分配和結構完整性。



    語法


    DBCC CHECKDB

        ( 'database_name'

                
    [ , NOINDEX

                    | { REPAIR_ALLOW_DATA_LOSS

                        | REPAIR_FAST

                        | REPAIR_REBUILD

                        } ]

        )    [ WITH { [ ALL_ERRORMSGS ]

                        [ , [ NO_INFOMSGS ] ]

                        [ , [ TABLOCK ] ]

                        [ , [ ESTIMATEONLY ] ]

                        [ , [ PHYSICAL_ONLY ] ]

                        }

            ]



    參數(shù)


    'database_name'



    是要對其中的所有對象分配和結構完整性進行檢查的數(shù)據(jù)庫。如果未指定,則默認為當前數(shù)據(jù)庫。數(shù)據(jù)庫名稱必須符合標識符的規(guī)則。有關更多信息,請參見使用標識符。



    NOINDEX



    指定不檢查非系統(tǒng)表的非聚集索引。NOINDEX 減少執(zhí)行總時間,因為它不對用戶定義的表的非聚集索引進行檢查。NOINDEX 對系統(tǒng)表沒有影響,因為 DBCC CHECKDB 總是對所有系統(tǒng)表索引進行檢查。



    REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD



    指定 DBCC CHECKDB 修復發(fā)現(xiàn)的錯誤。給定的 database_name 必須在單用戶模式下以使用修復選項,它可以是下列值之一。
























    描述
    REPAIR_ALLOW_DATA_LOSS執(zhí)行由 REPAIR_REBUILD 完成的所有修復,包括對行和頁進行分配和取消分配以改正分配錯誤、結構行或頁的錯誤,以及刪除已損壞的文本對象。這些修復可能會導致一些數(shù)據(jù)丟失。修復操作可以在用戶事務下完成以允許用戶回滾所做的更改。如果回滾修復,則數(shù)據(jù)庫仍會含有錯誤,應該從備份進行恢復。如果由于所提供修復等級的緣故遺漏某個錯誤的修復,則將遺漏任何取決于該修復的修復。修復完成后,備份數(shù)據(jù)庫。
    REPAIR_FAST進行小的、不耗時的修復操作,如修復非聚集索引中的附加鍵。這些修復可以很快完成,并且不會有丟失數(shù)據(jù)的危險。
    REPAIR_REBUILD執(zhí)行由 REPAIR_FAST 完成的所有修復,包括需要較長時間的修復(如重建索引)。執(zhí)行這些修復時不會有丟失數(shù)據(jù)的危險。



    WITH



    指定有關下列內(nèi)容的選項:返回錯誤信息的數(shù)量、獲得的鎖或估計的 tempdb 要求。



    ALL_ERRORMSGS



    顯示每個對象不受限制的錯誤數(shù)。如果沒有指定 ALL_ERRORMSGS,每個對象至多顯示 200 個錯誤信息。按對象 ID 對錯誤信息進行排序(從 tempdb 中生成的消息除外)。



    NO_INFOMSGS



    禁止顯示所有信息性消息(嚴重級別 10)和關于所用空間的報告。



    TABLOCK



    導致 DBCC CHECKDB 獲得共享表鎖。TABLOCK 可使 DBCC CHECKDB 在負荷較重的數(shù)據(jù)庫上運行得更快,但 DBCC CHECKDB 運行時會減少數(shù)據(jù)庫上可獲得的并發(fā)性。



    ESTIMATE ONLY



    顯示估計的 tempdb 空間大小,要運行帶有所有其它指定選項的 DBCC CHECKDB 則需要該空間。不執(zhí)行該檢查。



    PHYSICAL_ONLY



    僅限于檢查頁和記錄標題物理結構的完整性,以及頁對象 ID 和索引 ID 與分配結構之間的一致性。該檢查旨在以較低的開銷檢查數(shù)據(jù)庫的物理一致性,同時還檢測會危及用戶數(shù)據(jù)安全的殘缺頁和常見的硬件故障。PHYSICAL_ONLY 始終意味著 NO_INFOMSGS,并且不能與任何修復選項一起使用。



    注釋


    DBCC CHECKDB 對索引視圖執(zhí)行物理一致性檢查。只用于向后兼容的 NOINDEX 選項也適用于索引視圖上的任何輔助索引。



    DBCC CHECKDB 是最安全的修復語句,因為它對最多的可能出現(xiàn)的各種錯誤進行標識和修復。如果只報告數(shù)據(jù)庫中有分配錯誤,請執(zhí)行帶修復選項的 DBCC CHECKALLOC 以對這些錯誤進行修復。然而,若要確保正確修復所有錯誤(包括分配錯誤),請執(zhí)行帶修復選項的 DBCC CHECKDB,而不要執(zhí)行帶修復選項的 DBCC CHECKALLOC。



    DBCC CHECKDB 對數(shù)據(jù)庫中所有內(nèi)容的完整性進行驗證。如果當前正在執(zhí)行或最近已執(zhí)行 DBCC CHECKDB,則不需要運行 DBCC CHECKALLOC 或 DBCC CHECKTABLE。



    DBCC CHECKDB 執(zhí)行同樣的檢查,仿佛是對數(shù)據(jù)庫中的每個表執(zhí)行 DBCC CHECKALLOC 語句和 DBCC CHECKTABLE 語句。



    默認情況下,DBCC CHECKDB 不獲取表鎖。但它獲取架構鎖,該鎖防止對元數(shù)據(jù)進行更改,但允許更改數(shù)據(jù)。獲取的架構鎖將防止用戶得到排它表鎖,在生成聚集索引、除去任何索引或截斷表時需要排它表鎖。



    DBCC 語句收集信息,然后掃描日志以查找所做的任何其它更改,并在掃描的結尾將兩組信息合并在一起以產(chǎn)生數(shù)據(jù)的一致視圖。



    如果指定 TABLOCK 選項,DBCC CHECKDB 將獲取共享表鎖。這樣可允許某些類別的錯誤有更詳細的錯誤信息,并通過避免使用事務日志數(shù)據(jù)而將所要求的 tempdb 空間大小降為最低。TABLOCK 選項不阻止日志截斷并使命令可以更快地運行。



    DBCC CHECKDB 對數(shù)據(jù)庫中每個表的 text、ntextimage 頁的鏈接和大小及數(shù)據(jù)庫中所有頁的分配進行檢查。



    對于數(shù)據(jù)庫中每個表,DBCC CHECKDB 檢查其:


    • 索引和數(shù)據(jù)頁是否已正確鏈接。



    • 索引是否按照正確的順序排列。



    • 各指針是否一致。



    • 每頁上的數(shù)據(jù)是否均合理。



    • 頁面偏移量是否合理。



    錯誤表示數(shù)據(jù)庫中的潛在問題,應該立即改正。



    默認情況下,DBCC CHECKDB 對對象執(zhí)行并行檢查。并行度由查詢處理器自動確定。最大并行度的配置方式與并行查詢相同。使用 sp_configure 系統(tǒng)存儲過程限制可用于 DBCC 檢查的最大處理器數(shù)。有關更多信息,請參見 max degree of parallelism 選項



    使用跟蹤標記 2528 可禁用并行檢查。有關更多信息,請參見跟蹤標記。



    結果集


    不管是否指定任何選項(NO_INFOMSGS 或 NOINDEX 選項除外),如果未指定數(shù)據(jù)庫,DBCC CHECKDB 返回當前數(shù)據(jù)庫的以下結果集(值可能會變化):



    DBCC results for 'master'.
    DBCC results for 'sysobjects'.
    There are 862 rows in 13 pages for object 'sysobjects'.
    DBCC results for 'sysindexes'.
    There are 80 rows in 3 pages for object 'sysindexes'.
    '...'
    DBCC results for 'spt_provider_types'.
    There are 23 rows in 1 pages for object 'spt_provider_types'.
    CHECKDB found 0 allocation errors and 0 consistency errors in database 'master'.
    DBCC execution completed. If DBCC printed error messages, contact your system administrator.


    如果指定 NO_INFOMSGS 選項,DBCC CHECKDB 將返回以下結果集(消息):



    The command(s) completed successfully.


    如果指定 ESTIMATEONLY 選項,DBCC CHECKDB 將返回以下結果集。



    Estimated TEMPDB space needed for CHECKALLOC (KB) 
    -------------------------------------------------
    13

    (1 row(s) affected)

    Estimated TEMPDB space needed for CHECKTABLES (KB)
    --------------------------------------------------
    57

    (1 row(s) affected)

    DBCC execution completed. If DBCC printed error messages, contact your system administrator.


    權限


    DBCC CHECKDB 權限默認授予 sysadmin 固定服務器角色或 db_owner 固定數(shù)據(jù)庫角色的成員且不可轉讓。



    示例


    A. 檢查當前數(shù)據(jù)庫和 pubs 數(shù)據(jù)庫


    下例對當前數(shù)據(jù)庫和 pubs 數(shù)據(jù)庫執(zhí)行 DBCC CHECKDB。



    -- Check the current database.
    DBCC CHECKDB
    GO
    -- Check the pubs database without nonclustered indexes.
    DBCC CHECKDB ('pubs', NOINDEX)
    GO


    B. 檢查當前數(shù)據(jù)庫,禁止顯示信息性消息


    下例檢查當前數(shù)據(jù)庫,并禁止顯示所有信息性消息。



    DBCC CHECKDB WITH NO_INFOMSGS
    GO
    相關文章
    本頁查看次數(shù):