<code id="6edtw"><nobr id="6edtw"><sub id="6edtw"></sub></nobr></code>
      <big id="6edtw"><nobr id="6edtw"></nobr></big>

    1. <big id="6edtw"></big>
      <th id="6edtw"><sup id="6edtw"></sup></th>
      <th id="6edtw"></th>
      news
      新聞中心
      Contact Us
      聯系我們
      成都總公司:成都優立創電子科技有限公司
      聯系人:曹經理
      電話:18980958287
      地址:成都市武侯區人民南路四段1號時代數碼大廈10樓B8


      你現在的位置:網站首頁 > 新聞中心 > 業界動態 > 業界動態
      sql數據庫修復技術
      更新時間:2021-03-04 22:46:24 字號:T|T
      sql數據庫修復技術SQL Server數據庫備份有兩種方式,一種是使用BACKUP DATABASE將數據庫文件備份出去,另外一種就是直接拷貝數據庫文件md...
      sql數據庫修復技術
      SQL Server數據庫備份有兩種方式,一種是使用BACKUP DATABASE將數據庫文件備份出去,另外一種就是直接拷貝數據庫文件mdf和日志文件ldf的方式。下面將主要討論一下后者的備份與恢復。本文假定您能熟練使用SQL Server Enterprise Manager(SQL Server企業管理器)和SQL Server Quwey Analyser(SQL Server查詢分析器)
      1、正常的備份、sql數據庫修復方式
      正常方式下,我們要備份一個數據庫,首先要先將該數據庫從運行的數據服務器中斷開,或者停掉整個數據庫服務器,然后復制文件。
      卸下數據庫的命令:Sp_detach_db 數據庫名
      連接數據庫的命令:Sp_attach_db或者sp_attach_single_file_db
      s_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,...16]
      sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′
      使用此方法可以正確恢復SQL Sever7.0和SQL Server 2000的數據庫文件,要點是備份的時候一定要將mdf和ldf兩個文件都備份下來,mdf文件是數據庫數據文件,ldf是數據庫日志文件。
      例子:
      數據庫修復包括:sql數據庫修復 sql數據庫恢復sql server修復 文件修復 raid數據恢復 sql數據庫修復 raid磁盤陣列 sql恢復 sql server恢復 假設數據庫為test,其數據文件為test_data.mdf,日志文件為test_log.ldf。下面我們討論一下如何備份、恢復該數據庫。
      卸下數據庫:sp_detach_db 'test'
      連接數據庫:sp_attach_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf'
      sp_attach_single_file_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf'
      2、只有mdf文件的恢復技術
      由于種種原因,我們如果當時僅僅備份了mdf文件,那么恢復起來就是一件很麻煩的事情了。
      如果您的mdf文件是當前數據庫產生的,那么很僥幸,也許你使用sp_attach_db或者sp_attach_single_file_db可以恢復數據庫,但是會出現類似下面的提示信息
      設備激活錯誤。物理文件名 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' 可能有誤。
      已創建名為 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF' 的新日志文件。
      但是,如果您的數據庫文件是從其他計算機上復制過來的,那么很不幸,也許上述辦法就行不通了。你也許會得到類似下面的錯誤信息
      服務器: 消息 1813,級別 16,狀態 2,行 1
      未能打開新數據庫 'test'。CREATE DATABASE 將終止。
      設備激活錯誤。物理文件名 'd:\test_log.LDF' 可能有誤。
      怎么辦呢?別著急,下面我們舉例說明恢復辦法。
      A.我們使用默認方式建立一個供恢復使用的數據庫(如test)。可以在SQL Server Enterprise Manager里面建立。
      B.停掉數據庫服務器。
      C.將剛才生成的數據庫的日志文件test_log.ldf刪除,用要恢復的數據庫mdf文件覆蓋剛才生成的數據庫數據文件test_data.mdf。
      D.啟動數據庫服務器。此時會看到數據庫test的狀態為“置疑”。這時候不能對此數據庫進行任何操作。
      E.設置數據庫允許直接操作系統表。此操作可以在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')
      此時可以在SQL Server Enterprise Manager里面看到該數據庫處于“只讀\置疑\脫機\緊急模式”可以看到數據庫里面的表,但是僅僅有系統表
      G.下面執行真正的恢復操作,重建數據庫日志文件
      dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
      執行過程中,如果遇到下列提示信息:
      服務器: 消息 5030,級別 16,狀態 1,行 1
      未能排它地鎖定數據庫以執行該操作。
      DBCC 執行完畢。如果 DBCC 輸出了錯誤信息,請與系統管理員聯系。
      說明您的其他程序正在使用該數據庫,如果剛才您在F步驟中使用SQL Server Enterprise Manager打開了test庫的系統表,那么退出SQL Server Enterprise Manager就可以了。
      正確執行完成的提示應該類似于:
      警告: 數據庫 'test' 的日志已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置數據庫選項,并且可能需要刪除多余的日志文件。數據恢復 sql數據庫修復 密碼恢復 sql數據庫恢復 硬盤異響 壞道修復 文件恢復 sql server修復 文件修復 raid數據恢復 sql數據庫修復 raid磁盤陣列 sql恢復 sql server恢復 硬盤數據恢復 硬盤壞道修復 硬盤數據修復 數據修復
      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'
      如果沒有出錯,那么恭喜,現在就可以正常的使用恢復后的數據庫啦。
      J.***后一步,我們要將步驟E中設置的“允許對系統目錄直接修改”一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQL Server Enterprise Manager里面恢復,也可以使用如下語句完成
      sp_configure 'allow updates',0
      go
      reconfigure with override
      go

        <code id="6edtw"><nobr id="6edtw"><sub id="6edtw"></sub></nobr></code>
          <big id="6edtw"><nobr id="6edtw"></nobr></big>

        1. <big id="6edtw"></big>
          <th id="6edtw"><sup id="6edtw"></sup></th>
          <th id="6edtw"></th>
          特级做a爰片毛片免线看在线_日韩精品一区二区三区免费视频_亚洲Av图片一区二区_先锋日韩国产欧美影音资源站