如何在大型的并且有表分區的數據庫中進行DBCC CHECKDB操作 其實這個問題已經在《SQLSERVER企業級平臺管理實踐》里徐老師已經講過了,不過我想用自己的語言再講詳細一些 筆記鏈接:筆記19-徐 如何在超大型數據庫上運行DBCC CHECKDB 先來看一下表分區的概念圖
如何在大型的并且有表分區的數據庫中進行DBCC CHECKDB操作
其實這個問題已經在《SQLSERVER企業級平臺管理實踐》里徐老師已經講過了,不過我想用自己的語言再講詳細一些
筆記鏈接:筆記19-徐 如何在超大型數據庫上運行DBCC CHECKDB
先來看一下表分區的概念圖
很多時候你或者因為性能問題而使用表分區技術,將一些數據放到不同的分區,而這些數據實際上是被邏輯的放到不同的文件組里
大家知道:不管是索引還是數據,文件組都是這些索引和數據存放的最小邏輯單位
文件組是文件的命名集合,用于簡化數據存放和管理任務(例如,備份和還原操作,文件組備份和文件組還原)
MSDN 使用文件和文件組 :(v=sql.90).aspx
那么假如我有一個表使用了表分區技術,如下圖
表中索引和數據放在這3個文件組中,其中歷史數據/歸檔數據放在文件組1,索引放在文件組2,當前數據放在文件組3
當然,真實環境中的大型數據庫會有更多的文件組用來存放不同的歷史數據和索引!!
對于使用了分區表機制的數據庫,對于存儲歷史數據的分區文件組,由于數據本身已經不會發生修改,我們可以把文件組類型設成只讀模式,
防止任何誤修改。
步驟一:
我們可以對文件組1進行一次DBCC CHECKFILEGROUP檢查,如果沒有錯誤,就將文件組1設置為只讀,
這樣以后就不用再執行DBCC CHECKFILEGROUP檢查了,,因為文件組1是只讀的,不會再對它進行修改
我們使用下面SQL語句檢查文件組1是否有錯誤
CHECKFILEGROUP(1) 4 GO
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com