2021.09.25

SQL Server資料庫修復,請交給救援專家(2021年)

2021/9月

目錄

SQL Server資料庫修復前言
SQL Server資料庫常見問題
Logical Damage(虛擬架構受損)
Physical Damage(硬碟、SSD受損)
SQL資料庫修復,本公司如何搶救?
擔心SQL Server資料庫找不回來?交給SQL資料庫救援專家


SQL Server資料庫的科普知識
什麼是 SQL資料庫?
SQL資料庫常用的硬體設備
SQL資料庫所使用的儲存裝置『硬碟、SSD』皆是消耗品
SQL資料庫在安裝時,可能會先佔用硬碟空間
SQL Server資料庫一定要備份、再備份

 

SQL Server 資料庫修復前言

本公司搶救 SQL Server資料庫已有 20幾年經驗、數千組成功案例,深刻感受到當 SQL Server資料庫損毀時,企業面臨無法正常運作,和搶救期間的精神折磨。且搶救 SQL Server資料庫是高難度的工程,成功機率並不是 100%,有時搶救出來的資料庫有可能因受損而筆數不完整,失敗的變數非常多。

此篇的用意旨在將本公司搶救 SQL Server資料庫經驗做一分享,希望企業界能減少 SQL Server資料庫的意外損毀的風險。

 

SQL Server 資料庫常見問題

以下四種為 SQL Server 資料庫常見問題

SQL Server 資料庫誤刪除
SQL Server 資料庫遺失
SQL Server 資料庫無法掛載
無法連接至 SQL Server 資料庫

SQL Server 本身也是檔案,透過資料庫的檔案結構型態儲存在硬碟磁片上,通常資料庫的資料量特別龐大,當Server 發生問題時,也容易造成 SQL Server資料庫檔案受損。

而造成 SQL Server資料庫受損主要原因共為2種方向:

Logical Damage(虛擬架構受損)

這只是檔案本身受損,並非硬碟、SSD損壞引起,使用者甚至可嘗試自行修復,注意如下:

● 先將 SQL Server 檔案備份至其它有安裝 SQL Server 的硬碟內,嘗試用 SQL 語法和工具修復,失敗可再反覆修復,絕不可在原始 SQL Server 硬碟內執行修復,因一定會覆寫、破壞原始 Mdf + Ldf,修復一定要用備份出來的 Mdf + Ldf。

● 如無法備份即表示,硬碟、SSD 故障,請勿即刻關機不可再通電,一定需委託專業資料救援公司搶救。

Physical Damage(硬碟、SSD受損)

此種是屬於嚴重受損狀況,使用者無法自行嘗試修復,一定要委託有『硬碟原廠等級無塵室』的專業資料救援公司搶救。
 

SQL資料庫修復,本公司如何搶救?

● 如是『RAID』則要保持硬碟、SSD 原順序不可錯亂,並一一加註『順序編號』,因 RAID 硬碟、SSD 是有『順序』的,HDD1、HDD2、HDD3、HDD4……...。

● 每台硬碟先進『無塵室』拆開檢查,最重要就是『磁片』,只要磁片無嚴重磨損,資料就有機會救出。硬碟一定要在無塵室拆開否則磁片遭污染後,資料即損毀無法搶救。

● 工程師依照硬碟的順序,一台一台將內部資料設法取出後,再依照 RAID Configuration 的參數將『收集後 Blocks 』組合回原狀。此工程非常耗時且技術艱深。

● 接下工程師再接手修補破損的資料庫檔案。

上述是本公司搶救 SQL Server 資料庫的一些基本程序,透過將HDD Physical問題解決,並人工修補將SQL Server Logical問題解決,順利搶救資料。

有關SQL資料庫救援的詳細流程與費用說明,可先參考本公司的『資料救援費用』頁面。

 

擔心SQL Server資料庫找不回來?交給SQL資料庫救援專家

本公司在內湖科學區廠房耗資建構一座亞洲同業極少數的『硬碟原廠等級無塵室』,搶救客戶的 SQL Server 硬碟資料時,全程都在無塵室內進行,保障客戶硬碟絕不會受到污染,本公司的工程師團隊已有 10幾年以上豐富SQL救援經驗,並對多種SQL 版本皆相當熟悉,針對 SQL Server 的檔案結構修補能力也是亞洲極稀有。
 

什麼是SQL資料庫?

Microsoft SQL Server(微軟結構化查詢語言伺服器)是由美國微軟公司所推出的關聯式資料庫解決方案,最新的版本是SQL Server 2017,已在美國時間2017年10月2日發布,資料庫的內建語言原本是採用美國標準局和國際標準組織所定義的SQL語言,但是微軟公司對它進行了部分擴充而成為作業用SQL,幾個初始版本適用於中小企業的資料庫管理,但是近年來它的應用範圍有所擴充,已經觸及到大型、跨國企業的資料庫管理。

SQL Server資料庫因都是『大量』的資料,習慣上都是使用可『多人』、『多工』運作的 『RAID磁碟陣列』當儲存設備,無論使用多昂貴的 RAID,SQL資料庫一定都是分散儲存原理,透過多台『硬碟』或是『SSD』,存至 RAID 磁碟陣列內,我們不擔心 Server 的主機板、RAID Controller Card...故障,就怕 RAID 內部安裝的硬碟故障;確實,儲存裝置的故障機率卻是最高的,本公司搶救SQL Server資料庫已30餘年,且專業領域便是『硬碟』。

 

SQL資料庫常用的硬體設備

目前市面上 SQL Server資料庫常用的硬體設備共有:

NAS — 屬於『低價』的 Software Controller RAID,架構『簡易』。

● Server RAID — 傳統的 File Server,屬於『昂貴』的 Hardware Controller RAID,品質『穩定』、『耐操』。

 

SQL資料庫所使用的儲存裝置『硬碟、SSD』皆是消耗品

SQL資料庫 Server 使用的 RAID,幾乎都是 24H 不關機,內部硬碟、SSD 讀寫頻繁,長年使用耗損嚴重。

傳統硬碟(HDD) — 通電後磁片即 7,200 /rpm 高速璇轉,磁頭雖呈漂浮狀態在磁片表面快速來回讀寫, 但還是經常因『外力』『品質』問題磨損到磁片。

固態硬碟(SSD) — 雖都是晶片組成,但有『讀寫次數過高』會加速『老化』缺點。
 

 

SQL Server資料庫在安裝時,可能會先佔用硬碟空間

這邊以常見的SQL資料庫『Oracle』來舉例,Oracle資料庫是極優秀的資料庫,多年前即有安裝時可規劃『先佔用一大硬碟空間』,這空間只限 Oracle 檔案讀寫,其它種類檔案一律禁止使用,這樣的用意是,因資料庫會隨著『每日筆數』增加,檔案容量也會增大,如果當下還有其它種類檔案寫入時,每隻檔案都會佔用硬碟一定數量的 Blocks,先寫入的檔案先佔用該 Partition 最前面的區塊,如此極易造成『磁碟碎片』現象,導致硬碟磁頭更加忙碌,讀寫速度變慢。

這一種機制,對萬一『資料庫檔案』損毀、需搶救時,非常有幫助,且救出來會很完整、很漂亮,後來 SQL Server 也跟進推出類似功能,建議適用。

 

SQL資料庫一定要備份、再備份

本公司強烈建議 SQL資料庫一定要備份、再備份的原因,不外乎因為 SQL Server 的資料肯定非常重要,禁不起損毀,甚至要求 24H Online,而 RAID的硬碟、SSD又極易耗損,隨時都會故障,防不勝防,與其討論如何『避免故障』,不如多學習正確『備份』來的有幫助。

● 備份的正確作法:備份的硬碟、SSD只在『備份時』通電,備份結束後即拔下,可減少耗損增長使用壽命。

● 多組的備份 — 有1組備份風險 = ½ ,有2組備份分險 = ⅓ ...

● 用 USB 外接硬碟 — 資料分類備份,例:各部門資料單獨備份至外接式硬碟,備份時才接上運轉,備份結束拔下,減少機件磨損;勿 24H 一直插著運轉,且各部門透過網路連線即可自行在座位備份,操作非常簡易。

● 資料量如大則建議改用 NAS 備份 — NAS低價、操作簡易,適合當做各部門備份資料用。

● Duplicate — 『同步複製』適用金融業 24H On Line,需 2組相同 Server RAID,同步讀寫,當其中一組 Server 故障時,另一組則 Online 接替,這種 Duplicate 還是有『同時故障』風險。

機率高嗎?絕對不只 ½ ,因為這 2組 RAID『同步讀寫』時,硬碟、SSD 也是『同步耗損』,強烈建議還再需加強『資料備份』。

對於備份問題想進一步了解的使用者,可參考本公司的資料備份文章。


歡迎分享、轉載,並註明出處

相關文章分享

top