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'--將目標資料庫置為多使用者狀態
然後執行 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)
------把』 需要修復的資料表的名稱』更改為執行dbcc checkdb時報錯的資料表的名稱
exec sp_dboption @dbname,'single user','false'
3. 其他的一些常用的修復命令
dbcc dbreindex 重建指定資料庫中表的乙個或多個索引
用法:dbcc dbreindex (表名,』』) 修復此表所有的索引。
還有其他很多修復命令,諸如dbcc checkident 等等,用到的概率比較小,大家可以在ms sql server 的 聯機叢書中檢索一下。
MSSQL Server的DBCC常用命令
dbcc help 返回指定的 dbcc 語句的語法資訊。如 dbcc help dbcc checkident 檢查或更正指定表的當前標識值。如 dbcc checkident jobs 或dbcc checkident jobs,noreseed dbcc checkident jobs,res...
MS SQL Server常用維護操作解釋說明
分離後可以刪除日誌檔案,如果不分離刪除日誌檔案會導致資料庫無法恢復。收縮操作可以減小資料庫的 log.ldf日誌檔案和 mdf資料檔案的大小 1.分離資料庫 對應的資料庫,任務 分離 刪除鏈結 確定即把資料庫的 log.ldf日誌檔案和 mdf資料檔案分離便於刪除日誌檔案。2.刪除日誌ldf檔案 從...
4 4MSSQLServer常用版本介紹
以sql server 2008版本為例 sql server 2008 datacenter x86 x64 ia64 資料中心版,最強大的版本,要付費的 sql server 2008 enterprise x86 x64 ia64 企業版 sql server 2008 standard x8...