程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 常用的MS SQL Server數據修復命令

常用的MS SQL Server數據修復命令

編輯:關於SqlServer

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'--將目標數據庫置為多用戶狀態

然後執行 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 的 聯機叢書中檢索一下。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved