資料庫備份 (.bak)
Microsoft 標準BAK 是一個常用的備份檔案副檔名,並非通用格式。某些 .bak 檔案是 SQL Server 備份;其他則是應用程式專屬的副本,其內容取決於建立該檔案的軟體。
將 BAK 轉換為 SQL
免費的瀏覽器端 BAK 轉 SQL 轉換器。在您的裝置上即時轉換檔案。
檢查與中繼資料
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 BAK 檔案:
位元組層級標頭簽章(檔案簽章)
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 BAK 檔案:
十六進位簽章(偏移量 0):
42 41 43 4B 55 50 / TAPEASCII 表示法: BACKUP
標準化: Microsoft SQL Server 備份規格 / 通用備份
技術規格
| 容器架構 | Microsoft Tape Format (MTF) 或包含交易記錄、資料檔案與中繼資料的專有資料庫分頁儲存 |
| 壓縮 | SQL Server 原生備份壓縮、透明分頁壓縮或未壓縮 |
| 位元組序 | 小端序(Microsoft SQL Server) |
| 色彩空間 | 不適用(資料庫封存檔) |
| 色版與結構 | 資料庫結構描述、資料表列、索引、預存程序與交易記錄檢查點 |
| 最大尺寸 | 實際上無限制(支援多 TB 的企業資料庫備份) |
| 透明度 | 無 |
| 串流與漸進式 | 循序媒體區塊串流(相容於磁帶與雲端 Blob 儲存體) |
技術比較矩陣:BAK 對比競爭格式
| 技術屬性 | BAK (目前) | SQL | VHD | ISO |
|---|---|---|---|---|
| 內容 | 完整的二進位資料庫快照 | 純文字 INSERT 的 SQL 指令稿 | 虛擬機器磁碟映像檔 | 光碟檔案系統映像檔 |
| 還原速度 | 高速直接二進位分頁複製 | 緩慢(重新執行 SQL 陳述式) | 可開機虛擬磁碟 | 逐磁區掛載 |
| 檔案格式 | 微軟專屬磁帶格式 | 純文字 ANSI / ISO SQL 指令稿 | 微軟虛擬磁碟容器 | ISO 9660 / UDF 光碟映像檔 |
| 引擎相容性 | 僅限 Microsoft SQL Server | 支援情況因軟體而異。 | Hyper-V / VirtualBox / VMware | 支援情況因軟體而異。 |
常見損壞模式與十六進位修復指南
SQL Server 錯誤:「RESTORE DATABASE is terminating abnormally: Page checksum failed」。
根本原因: 損壞的儲存磁區導致內部資料庫分頁的檢查碼失敗。
修復: 嘗試使用 'CONTINUE_AFTER_ERROR' 進行還原,或使用 File2File.app 備份工具進行修復。
安全性分析與解析器攻擊向量
資料庫備份檔案包含完整的公司資料庫,必須使用憑證進行加密,以防止未授權的存取。
已知攻擊向量
- 未加密的 BAK 檔案遭竊,讓攻擊者能夠完整存取所有客戶記錄與密碼。
- 資料庫備份標頭解析公用程式中的緩衝區溢位。
- 透過格式錯誤的備份媒體描述項進行阻斷服務攻擊。
防禦最佳實務: 在支援的情況下,啟用資料庫與備份加密,並分開保護加密金鑰。
歷史起源與里程碑
2016Microsoft SQL Server 2016 引入原生透明備份加密與混合雲備份。
2008SQL Server 2008 在 .bak 檔案內引入原生整合備份壓縮。
1989Microsoft SQL Server 1.0 確立標準的 .bak 資料庫備份架構。
主要優勢與優點
- 完整的時間點資料庫還原:復原整個資料庫,包含結構描述、資料、使用者與權限。
- 高完整性驗證:包含內嵌媒體標頭、分頁檢查碼與損毀分頁偵測。
- 原生支援差異備份與交易記錄鏈,以將備份時間範圍降到最低。
技術限制與缺點
- SQL Server 版本鎖定:在較新版本 SQL Server 上建立的 .bak 檔案無法還原至較舊版本。
- 若未啟用原生備份壓縮,企業資料庫將佔用龐大的儲存空間。
- 無法使用通用文字編輯器或非資料庫軟體直接開啟,須先經過轉換。
有趣的技術冷知識
- Microsoft SQL Server 的 .bak 格式歷史上衍生自 Microsoft Tape Format (MTF),旨在串流至實體磁帶捲。
- 許多 CAD、向量圖與文字編輯應用程式會自動建立 .bak 檔案,作為先前儲存檔案的緊急備用副本。
- 資料庫管理員常說一句話:「備份在成功還原之前都不算數」。
常見技術問題
.bak 檔案是什麼?
.bak 副檔名不代表單一格式。SQL Server 備份只是其中一種用途;其他應用程式也會用它儲存備份副本,內容則取決於建立檔案的軟體。
如何還原 .bak 檔案?
在 SQL Server Management Studio (SSMS) 中,以滑鼠右鍵按一下「Databases」,選取「Restore Database」,選擇「Device」,然後選取您的 .bak 檔案。
我可以將 BAK 檔案轉換為 SQL 指令稿或 CSV 嗎?
可以。File2File.app 可以解析 SQL Server .bak 檔案,並將資料庫資料表直接擷取為乾淨的 SQL 指令稿或 CSV 試算表。