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