---
# System prepended metadata

title: SQL｜資料庫備份檔：mdf ldf bak bcp
tags: [SQL]

---

在 SQL Server 中，`mdf`、`ldf`、`bak` 和 `bcp` 都是與資料庫管理和資料匯入匯出相關的檔案或工具，它們的作用各不相同：

1. **MDF（Primary Data File）**：
    - 主資料檔案，儲存 SQL Server 資料庫的核心數據。
    - 包含資料表、索引、視圖等結構化數據。
    - 每個資料庫至少需要一個 MDF 檔案來儲存數據。
2. **LDF（Transaction Log File）**：
    - 交易日誌檔案，用來記錄資料庫中的每個資料操作（如 `INSERT`、`UPDATE`、`DELETE`）。
    - 在資料庫故障或崩潰時，SQL Server 可利用 LDF 檔案還原數據。
    - 交易日誌的存在確保了資料庫操作的完整性和可靠性。
3. **BAK（Backup File）**：
    - 備份檔案，包含 SQL Server 資料庫的完整或部分備份。
    - 用來在數據丟失或伺服器損壞時還原資料庫。
    - 透過 `BACKUP` 和 `RESTORE` 指令進行備份和還原操作，BAK 檔案可以儲存完整備份、差異備份或交易日誌備份。
4. **BCP（Bulk Copy Program）**：
    - SQL Server 提供的一個命令列工具，用來快速匯入或匯出大量資料。
    - 可將資料從 SQL Server 資料庫匯出到一個檔案（例如 `.txt` 或 `.csv`），或將外部檔案資料匯入資料庫。
    - 常用於資料移轉、大規模資料載入、或從外部系統匯入資料至 SQL Server。

### 總結：

- **MDF**：主要資料檔案，存儲核心數據。
- **LDF**：交易日誌檔案，記錄所有數據操作。
- **BAK**：備份檔案，便於還原資料庫。
- **BCP**：匯入匯出工具，快速搬移大量資料。