資料庫備份 (.bak)

Microsoft 標準

BAK 是一個常用的備份檔案副檔名,並非通用格式。某些 .bak 檔案是 SQL Server 備份;其他則是應用程式專屬的副本,其內容取決於建立該檔案的軟體。

將 BAK 轉換為 SQL

免費的瀏覽器端 BAK 轉 SQL 轉換器。在您的裝置上即時轉換檔案。

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 BAK 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 BAK 檔案:

十六進位簽章(偏移量 0):

42 41 43 4B 55 50 / TAPE

ASCII 表示法: BACKUP

標準化: Microsoft SQL Server 備份規格 / 通用備份

技術規格

容器架構Microsoft Tape Format (MTF) 或包含交易記錄、資料檔案與中繼資料的專有資料庫分頁儲存
壓縮SQL Server 原生備份壓縮、透明分頁壓縮或未壓縮
位元組序小端序(Microsoft SQL Server)
色彩空間不適用(資料庫封存檔)
色版與結構資料庫結構描述、資料表列、索引、預存程序與交易記錄檢查點
最大尺寸實際上無限制(支援多 TB 的企業資料庫備份)
透明度無
串流與漸進式循序媒體區塊串流(相容於磁帶與雲端 Blob 儲存體)

技術比較矩陣:BAK 對比競爭格式

技術屬性BAK (目前)SQLVHDISO
內容完整的二進位資料庫快照純文字 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 試算表。