程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> 只要mdf文件的數據庫附加掉敗的修復辦法分享(置疑、只讀)

只要mdf文件的數據庫附加掉敗的修復辦法分享(置疑、只讀)

編輯:MSSQL

只要mdf文件的數據庫附加掉敗的修復辦法分享(置疑、只讀)。本站提示廣大學習愛好者:(只要mdf文件的數據庫附加掉敗的修復辦法分享(置疑、只讀))文章只能為提供參考,不一定能成為您想要的結果。以下是只要mdf文件的數據庫附加掉敗的修復辦法分享(置疑、只讀)正文


只要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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved