解決無(wú)法復(fù)制MDF和LDF文件的問題
安裝SQL 2000的用戶可能會(huì)遇到無(wú)法復(fù)制MDF和LDF文件的問題,這給數(shù)據(jù)庫(kù)維護(hù)帶來(lái)了很大的困擾。本文將介紹如何修復(fù)這個(gè)問題。 在開始修復(fù)之前,請(qǐng)確保先停止SQL服務(wù)器,并備份好MDF和LDF文
安裝SQL 2000的用戶可能會(huì)遇到無(wú)法復(fù)制MDF和LDF文件的問題,這給數(shù)據(jù)庫(kù)維護(hù)帶來(lái)了很大的困擾。本文將介紹如何修復(fù)這個(gè)問題。
在開始修復(fù)之前,請(qǐng)確保先停止SQL服務(wù)器,并備份好MDF和LDF文件以防止操作過程中的意外情況發(fā)生。如果在復(fù)制過程中出現(xiàn)“數(shù)據(jù)錯(cuò)誤,循環(huán)冗余檢查”的錯(cuò)誤提示,則需要進(jìn)行磁盤碎片整理和查錯(cuò)的操作。復(fù)制完成后,刪除置疑的LDF文件,并重新啟動(dòng)SQL服務(wù)器。
修復(fù)SQL置疑
打開查詢分析器,并輸入以下命令:
Use Master
Go
sp_configure 'allow updates', 1
reconfigure with override
begin tran
update sysdatabases set status 32768 where name '置疑的數(shù)據(jù)庫(kù)名'
commit tran
輸入完以上命令后,依次選擇每一組語(yǔ)句,按F5或右鍵執(zhí)行。執(zhí)行完所有命令后關(guān)閉查詢分析器。
停止SQL服務(wù)后再次重啟SQL服務(wù),進(jìn)入查詢分析器并輸入以下命令:
DBCC TRACEON (3604)
DBCC REBUILD_LOG ('置疑的數(shù)據(jù)庫(kù)名','LDF存放路徑')
Go
選擇語(yǔ)句并執(zhí)行,然后關(guān)閉查詢分析器。
停止SQL服務(wù)后再次重啟SQL服務(wù),在查詢分析器中輸入以下命令:
use master
update sysdatabases set status 8 where name '置疑的數(shù)據(jù)庫(kù)名'
sp_configure 'allow updates', 0
reconfigure with override
Go
依次選中要執(zhí)行的每一組語(yǔ)句,執(zhí)行完成后關(guān)閉查詢分析器。
檢查修復(fù)結(jié)果和索引605錯(cuò)誤
在查詢分析器內(nèi)輸入以下命令,逐個(gè)執(zhí)行:
USE 數(shù)據(jù)庫(kù)名稱
EXEC sp_dboption '數(shù)據(jù)庫(kù)名稱', 'single user', 'TRUE'
GO
DBCC CHECKDB ('數(shù)據(jù)庫(kù)名稱')
Go
DBCC CHECKDB ('數(shù)據(jù)庫(kù)名稱', repair_rebuild)
Go
dbcc checkdb('數(shù)據(jù)庫(kù)名稱',repair_allow_data_loss)
Go
EXEC sp_dboption '數(shù)據(jù)庫(kù)名稱', 'single user', 'FALSE'
Go
依次選中要執(zhí)行的每一組語(yǔ)句,執(zhí)行完所有命令后,問題應(yīng)該得到修復(fù)。
如果在第二次修復(fù)數(shù)據(jù)庫(kù)置疑后出現(xiàn)了索引605錯(cuò)誤,請(qǐng)打開查詢分析器,并輸入以下命令:
exec sp_dboption '數(shù)據(jù)庫(kù)名稱', 'single user', 'true'
dbcc checkdb ('數(shù)據(jù)庫(kù)名稱',repair_allow_data_loss)
dbcc checkdb ('數(shù)據(jù)庫(kù)名稱',repair_rebuild)
dbcc checkdb ('數(shù)據(jù)庫(kù)名稱', noindex)
exec sp_dboption '數(shù)據(jù)庫(kù)名稱', 'single user', 'false'
每行命令執(zhí)行一次即可。