贵州福彩网

數據恢復咨詢熱線:400-666-3702??

歡迎訪問南京兆柏數據恢復公司,專業數據恢復15年

兆柏數據恢復公司

?行業新聞

?當前位置: 主頁 > 行業新聞 >

用友財務軟件數據恢復,數據庫打不開修復

?瀏覽量: 0 次??來源:未知??發布日期:2019-11-27 18:11:39

用友財務軟件數據恢復,數據庫打不開修復
 友財務軟件賬套sql數據庫修復及sql數據庫恢復, 常見的有用戶財務軟件,還有用友的商貿通等軟件的數據庫賬套!常見的由于斷電原因導致數據庫文件打不開。

SGAM page 共享全局分配映射(Shared Global Allocation Map,GAM)頁面 這些頁面記錄了哪些區當前被用作混合類型的區,并且這些區需含有至少一個未使用的頁面。
    3、從列表選擇掃描得到的文件
    ?10 IAM page  有關每個分配單元中表或索引所使用的區的信息
    .如果用戶將SQL數據庫存儲在一個壓縮的文件夾中,那么MDF文件就可能因此而被損壞。
    1 主數據文件
    如今微軟的SQL Server可謂是最常用的關系型數據庫之一了。鑒于其先進的內部結構和高可靠性,大多數組織都選用SQL Server數據庫來存儲所有關鍵業務的數據。但是有時候,一些諸如病毒感染、操作系統故障、文件系統損壞之類的狀況會使得SQL數據庫受到損壞,以至于存儲在其中的所有數據都變得無法訪問。然而,在真實的場景中,我們在損壞的SQL Server里修復各種.mdf文件,卻并非是一件容易的事。
    Nonclustered index ID:顯示索引的全部 IAM頁, data頁和索引頁,包含LOB和 row-overflow數據頁。
    后跟分別列出的它的列值
    數據頁由3個部分組成。頁頭(標頭),數據區(數據行和可用空間)及行偏移數組。
    ?7 Sort page 排序時所用到的臨時頁,排序中間操作存儲數據用的。
    ?11 PFS page  有關頁分配和頁的可用空間的信息
    用DBCC CHECKDB來修復受損MDF文件的步驟
    首先,您需要在受損的SQL數據庫上運行DBCC CHECKDB,請執行如下的命令:
    和DBCC PAGE不同的是, SQL Server運行DBCC IND不需要開啟3604跟蹤標志.
    具體參數描述如下:
    因此在本文中,我們將和您討論修復受損SQL數據庫的最佳解決方法。不過在開始之前,讓我們先來了解一下SQL數據庫受損的背后原因。
    0:默認值,輸出緩沖區的標題和頁面標題
    -1: 顯示全部IAM頁,數據頁, 索引頁 也包括 LOB 和row-overflow 數據頁。
    2 次要數據文件
    日志文件包含著用于恢復數據庫的所有日志信息。每個數據庫必須至少有一個日志文件,當然也可以有多個。日志文件的推薦文件擴展名是 .ldf。
    dbid 包含頁面的數據庫ID
    2、直接在文件系統里面刪除了SQLSERVER數據文件即MDF文件
    現在我們來看看79號類型為1的數據頁里存放的數據,這個就要用到DBCC PAGE命令,它的語法如下:
    ?? 在 SQL Server 中,數據庫中所有文件的位置都記錄在數據庫的主文件和 master 數據庫中。大多數情況下,SQL Server 數據庫引擎使用 master 數據庫中的文件位置信息。
    SQL Server 不強制使用 .mdf、.ndf 和 .ldf 文件擴展名,但使用它們有助于標識文件的各種類型和用途。
    DBCC Page ({dbid|dbname},filenum,pagenum[,printopt])
    2:輸出緩沖區的標題、頁面標題(整體輸出頁面),以及行偏移量表
    2、即使MDF文件被部分覆蓋,未被覆蓋部分的表數據依然可以恢復
    1、在SQLserver企業管理器里面刪除數據庫對象,導致MDF文件被刪除。
    .導致MDF文件損壞的其他可能原因還包括:病毒攻擊、硬盤故障、系統異常關機和突然斷電等。
    ?13 boot page 記錄了關于數據庫的信息,僅存于每個數據庫的第9頁
    ?17 BCM page 有關每個分配單元中自最后一條 BACKUP LOG 語句之后的大容量操作所修改的區的信息
    .某個用戶可能對數據進行錯誤地刪除。
    ?8 GAM page 全局分配映射(Global Allocation Map,GAM)頁面 這些頁面記錄了哪些區已經被分配并用作何種用途。
    ?16 DCM page 記錄自從上次全備以來的數據改變的頁面,以備差異備份
    關于數據庫頁類型如下所示:
    pagenum 文件內的頁面
    .由于文件頭的損壞,所導致的MDF文件受損。
    使用教程:
    1: 顯示對象的全部頁, 包含IAM 頁, in-row數據頁, LOB 數據頁row-overflow 數據頁 . 如果請求的對象含有聚集所以則索引頁也包括。
    1.DBCC CHECKDB (Name_of _corrupt _database)
    另一種可能修復和復原受損SQL數據庫的方式是使用數據庫控制臺命令,例如:DBCC CHECKDB。該命令對于修復SQL Server數據庫中的輕度損壞問題是非常有效的。
    情況1:如果索引ID>1,則立刻丟棄它、并重新創建。
    一般用戶可以通過手動的方法,來逐步修復SQL數據庫中損壞的MDF文件,但是該方法并不可靠,因為它無法保證數據能夠被完全地恢復。不過,也有類似SysTools SQL Recovery這樣的第三方工具,聲稱可以完美的方式修復.mdf文件。
    要想看到這些輸出的結果,還需要設置DBCC TRACEON(3604)
   SQL Server 數據庫具有三種類型的文件
1 主數據文件
    主數據文件是數據庫的起點。除了存儲系統以及用戶數據以外,主數據文件還存儲了數據庫中的所有輔助數據文件以及重做日志文件的路徑、名稱、大小等信息。SQL Server通過讀取主數據文件得到其他數據文件及重做日志文件的信息,這個功能與Oracle控制文件相似。每個數據庫都有一個主數據文件。主數據文件的推薦文件擴展名是 .mdf。
 
2 次要數據文件
    除主數據文件以外的所有其他數據文件都是次要數據文件,次數據文件一般只存儲用戶數據。某些數據庫可能不含有任何次要數據文件,而有些數據庫則含有多個次要數據文件。次要數據文件的推薦文件擴展名是 .ndf。
 
3 日志文件
    日志文件包含著用于恢復數據庫的所有日志信息。每個數據庫必須至少有一個日志文件,當然也可以有多個。日志文件的推薦文件擴展名是 .ldf。
 
    SQL Server 不強制使用 .mdf、.ndf 和 .ldf 文件擴展名,但使用它們有助于標識文件的各種類型和用途。
?? 在 SQL Server 中,數據庫中所有文件的位置都記錄在數據庫的主文件和 master 數據庫中。大多數情況下,SQL Server 數據庫引擎使用 master 數據庫中的文件位置信息。
    在下列情況下,數據庫引擎使用主文件的文件位置信息初始化 master 數據庫中的文件位置項:
    .使用帶有 FOR ATTACH 或 FOR ATTACH_REBUILD_LOG 選項的 CREATE DATABASE 語句來附加數據庫時。
    .從 SQL Server 2000 版或 7.0 版升級時。
    .還原 master 數據庫時。
 
二 數據頁
    SQL Server用8KB 的頁來存儲數據,并且在SQL Server里磁盤 I/O 操作在頁級執行。也就是說,SQL Server 讀取或寫入所有數據頁。頁有不同的類型,像數據頁,GAM,SGAM等。
    SQL Server把數據記錄存在數據頁(Data Page)里。數據記錄是堆表里、聚集索引里葉子節點的行。
    數據頁由3個部分組成。頁頭(標頭),數據區(數據行和可用空間)及行偏移數組。
 
    要找出SQL Server給一個表分配的頁有哪些,要用到非文檔的命令DBCC IND。DBCC IND 命令用于查詢一個存儲對象的內部存儲結構信息,該命令有4個參數, 前3個參數必須指定。它的語法如下:
    第一個參數是數據庫名或數據庫ID。
    第二個參數是數據庫中的對象名或對象ID,對象可以是表或者索引視圖。
    第三個參數是一個非聚集索引ID或者 1, 0, 1, or 2. 值的含義:
 0: 只顯示對象的in-row data頁和 in-row IAM 頁。
 1: 顯示對象的全部頁, 包含IAM 頁, in-row數據頁, LOB 數據頁row-overflow 數據頁 . 如果請求的對象含有聚集所以則索引頁也包括。
 -1: 顯示全部IAM頁,數據頁, 索引頁 也包括 LOB 和row-overflow 數據頁。
 -2: 顯示全部IAM頁。
     Nonclustered index ID:顯示索引的全部 IAM頁, data頁和索引頁,包含LOB和 row-overflow數據頁。
     為了兼容sql server 2000,第四個參數是可選的,該參數用于指定一個分區號.如果不給定值或者給定0, 則顯示全部分區數據。
    和DBCC PAGE不同的是, SQL Server運行DBCC IND不需要開啟3604跟蹤標志.
 
    關于數據庫頁類型如下所示:
?1 Data page 堆表和聚集索引的葉子節點數據
 
?2 Index page 聚集索引的非葉子節點和非聚集索引的所有索引記錄
 
?3 Text mixed page  A text page that holds small chunks of LOB values plus internal parts of text tree. These can be shared between LOB values in the same partition of an index or heap.
 
?4 Text tree page A text page that holds large chunks of LOB values from a single column value.
 
?7 Sort page 排序時所用到的臨時頁,排序中間操作存儲數據用的。
 
?8 GAM page 全局分配映射(Global Allocation Map,GAM)頁面 這些頁面記錄了哪些區已經被分配并用作何種用途。
 
?9 SGAM page 共享全局分配映射(Shared Global Allocation Map,GAM)頁面 這些頁面記錄了哪些區當前被用作混合類型的區,并且這些區需含有至少一個未使用的頁面。
 
?10 IAM page  有關每個分配單元中表或索引所使用的區的信息
 
?11 PFS page  有關頁分配和頁的可用空間的信息
 
?13 boot page 記錄了關于數據庫的信息,僅存于每個數據庫的第9頁
 
?15 file header page 記錄了關于數據庫文件的信息,存于每個數據庫文件的第0頁
 
?16 DCM page 記錄自從上次全備以來的數據改變的頁面,以備差異備份
 
?17 BCM page 有關每個分配單元中自最后一條 BACKUP LOG 語句之后的大容量操作所修改的區的信息
 
三 DBCC命令
現在我們來看看79號類型為1的數據頁里存放的數據,這個就要用到DBCC PAGE命令,它的語法如下:
 
dbcc page 命令讀取數據頁結構的命令DBCC Page。
 該命令為非文檔化的命令,具體如下: 
   DBCC Page ({dbid|dbname},filenum,pagenum[,printopt])
  具體參數描述如下:
   dbid 包含頁面的數據庫ID
  dbname 包含頁面的數據庫的名稱
   filenum 包含頁面的文件編號
   pagenum 文件內的頁面
   printopt 可選的輸出選項;選用其中一個值:
   0:默認值,輸出緩沖區的標題和頁面標題
   1:輸出緩沖區的標題、頁面標題(分別輸出每一行),以及行偏移量表
   2:輸出緩沖區的標題、頁面標題(整體輸出頁面),以及行偏移量表
   3:輸出緩沖區的標題、頁面標題(分別輸出每一行),以及行偏移量表;每一行
   后跟分別列出的它的列值
   要想看到這些輸出的結果,還需要設置DBCC TRACEON(3604)
    SQL Server 數據庫具有三種類型的文件
 
相關推薦