SQL Server數據修復命令DBCC的使用
此文章主要向大家講述的是SQL Server數據修復命令DBCC,MS Sql Server 提供了很多關于數據庫修復的命令,當MS Sql Server 數據庫遭到質疑或者是有的無法完成讀取時可以嘗試這些修復命令。
1. DBCC CHECKDB
重啟服務器后,在沒有進行任何操作的情況下,在SQL查詢分析器中執行以下SQL進行數據庫的修復,修復數據庫存在的一致性錯誤與分配錯誤。
use master
declare @databasename varchar(255)
set @databasename='需要修復的數據庫實體的名稱'
exec sp_dboption @databasename, N'single', N'true' --將目標數據庫置為單用戶狀態
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'--將目標數據庫置為多用戶狀態
然后執行 SQL Server數據修復命令DBCC CHECKDB('需要修復的數據庫實體的名稱') 檢查數據庫是否仍舊存在錯誤。注意:修復后可能會造成部分數據的丟失。
2. DBCC CHECKTABLE
如果DBCC CHECKDB 檢查仍舊存在錯誤,可以使用DBCC CHECKTABLE來修復。
use 需要修復的數據庫實體的名稱
declare @dbname varchar(255)
set @dbname='需要修復的數據庫實體的名稱'
exec sp_dboption @dbname,'single user','true'
dbcc checktable('需要修復的數據表的名稱',REPAIR_ALLOW_DATA_LOSS)
dbcc checktable('需要修復的數據表的名稱',REPAIR_REBUILD)
------把’ 需要修復的數據表的名稱’更改為執行SQL Server數據修復命令DBCC CHECKDB時報錯的數據表的名稱
exec sp_dboption @dbname,'single user','false'
3. 其他的一些常用的修復命令
DBCC DBREINDEX 重建指定數據庫中表的一個或多個索引
用法:DBCC DBREINDEX (表名,’’) 修復此表所有的索引。
上述的相關內容就是對SQL Server數據修復命令DBCC的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】
- SQL Server group by的用法有很多
- SQL Server 2005常見錯誤的破解方案
- 批量修改SQL Server 2005表構架很簡單!
- 對SQL Server 2005 BI的描述
- SQL Server日期函數之獲得一個月中的實際天數