国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

只有mdf文件的數據庫附加失敗的修復方法分享(置疑、只讀)

2020-07-25 13:17:01
字體:
來源:轉載
供稿:網友
只有mdf文件的數據庫附加失敗的修復
附加時報如下錯誤:
服務器: 消息 1813,級別 16,狀態 2,行 1
未能打開新數據庫 'test'。CREATE DATABASE 將終止。
設備激活錯誤。物理文件名 "d:/data/test_log.LDF' 可能有誤。
步驟:
A、用“企業管理器”新建一個同名的數據。可以修改默認路徑,為表述方便,我使用D:/data/,數據文件名test.mdf,日志文件名test_log.ldf
B、停止SQL服務
C、刪除test_log.ldf文件,將新建的test.mdf文件用舊的test.mdf文件替換。
D、啟動SQL服務。進入企業管理器后發現test數據顯示為“置疑”,此后保證無人連接上此數據庫,并不做任何操作。
E、設置test數據庫允許直接操作系統表。此操作可以在SQL Server Enterprise Manager里面選擇數據庫服務器,按右鍵,選擇“屬性”,在“服務器設置”頁面中將“允許對系統目錄直接修改”一項選中。也可以使用如下語句來實現。我在實際操作的時候沒有使用命令,命令方式大家可以自己測試 ^_^
復制代碼 代碼如下:

use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go

F、設置test數據庫為緊急修復模式。在查詢分析器中執行如下語句:update sysdatabases set status=-32768 where dbid=DB_ID('test')
復制代碼執行后在企業管理器中刷新后會發現ttdb數據庫顯示為“只讀/置疑/脫機/緊急模式”。可以看到數據庫里面的表,但是僅僅有系統表。
G、重建數據庫日志文件。在查詢分析器中執行如下語句:
復制代碼 代碼如下:

dbcc rebuild_log('test','d:/Data/test_log.ldf')

執行之前必須退出企業管理器,并且沒有人連接些數據庫。否則會報如下錯誤:
服務器: 消息 5030,級別 16,狀態 1,行 1
未能排它地鎖定數據庫以執行該操作。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
正常的消息:
警告: 數據庫 'test' 的日志已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置數據庫選項,并且可能需要刪除多余的日志文件。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
此時打開在SQL Server Enterprise Manager里面會看到數據庫的狀態為“只供DBO使用”。可以訪問數據庫里面的用戶表了。
H、驗證數據庫一致性(可省略,不過我忠實地執行了^_^),查詢分析器中執行:
復制代碼 代碼如下:

dbcc checkdb('test')

報出了每個表的執行情況后,最后報:
CHECKDB 發現了 0 個分配錯誤和 0 個一致性錯誤(在數據庫 'test' 中)。
DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
I、設置數據庫為正常狀態。執行語句:
復制代碼 代碼如下:

sp_dboption 'test','dbo use only','false'

走到這一步,如果沒有報錯,已經可以長長舒一口氣了,去喝口水吧。:P
J、最后一步,我們要將步驟E中設置的“允許對系統目錄直接修改”一項恢復。怎么做當然不用再多說啦。也可以執行語句:
復制代碼 代碼如下:

sp_configure 'allow updates',0
go
reconfigure with override
go
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广昌县| 深圳市| 永川市| 定兴县| 武川县| 分宜县| 崇左市| 栾川县| 怀宁县| 织金县| 辽阳县| 绥芬河市| 贺兰县| 莱西市| 乡城县| 定襄县| 永新县| 周口市| 宣化县| 峨眉山市| 丹凤县| 庄河市| 张家港市| 元朗区| 大兴区| 灌云县| 永城市| 陆良县| 白河县| 时尚| 新巴尔虎左旗| 广元市| 裕民县| 黄陵县| 平乡县| 饶阳县| 永年县| 攀枝花市| 怀集县| 潜江市| 长汀县|