Theme NexT works best with JavaScript enabled

ShunNien's Blog

不積跬步,無以致千里;不積小流,無以成江海。

0%

使用 Sqlserver Data-Tier Applications 來進行備份

資料層應用程式 (Data-tier Applications)

幾日前公司 MIS 維運 Server ,一些伺服器暫時關閉,所以測試資料庫也停了;幸好有針對資料結構進行版控,只好利用 docker 直接來建立資料庫,但是有些關聯資料表的建立,由於相依另外的資料表,變成建立順序需要調整;後來測試資料庫維運完成之後,才想到這些資料結構的建立可以利用 DAC 來建立。

DAC 定義

資料層應用程式 (Data-tier Applications) 包含完整的資料庫物件,例如:

  • table
  • view
  • store procedure

依照這些物件定義來進行資料庫的布署,其封裝檔案可以分為兩種格式:

  • .dacpac

    • 僅資料庫結構描述
    • 用來佈署、升級資料庫 Schema 與版本
  • .bacpac

    • 資料庫結構描述加上資料 (檔案會較大)
    • 用來備份、還原,不能用來升級資料庫(內容包含資料庫中的資料)

其實這些產生出的檔案就是一個壓縮檔,加上 .zip 副檔名,可以看出裡面有許多 XML 檔案,這些檔案來描述資料結構

BACPAC 操作

以下附上環境資訊

1
2
3
$ systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
OS Name: Microsoft Windows 10 專業版
OS Version: 10.0.17134 N/A Build 17134

匯出步驟

匯出資料庫 DAC ,將資料庫 Schema 與資料封裝

  • 目標資料庫右鍵 –> Tasks –> Export Data-tier Application…

Export Data-tier Application

  • 簡單的說明介紹

Export Introduction

  • 匯出設定

Export Settings

  • 進階設定,指定匯出項目等

Export Advanced

  • 設定總結

Export Summary

  • 匯出結果

Export Results1
Export Results2

匯入步驟

使用 BACPAC 進行資料與結構匯入

  • Databases 資料夾右鍵 –> Import Data-tier Application…

Import Data-tier Application

  • 匯入介紹

Import Introduction

  • 匯入設定,選擇 bacpac 檔案位置

Import Settings

  • 資料庫設定,設定資料庫名稱與檔案存放路徑等

Import Database Settings

  • 設定項目總結

Import Summary

  • 匯入結果

Import results1
Import Results2

參考資料

歡迎關注我的其它發布渠道