Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SQL Server 資料庫版本控管

5,983 views

Published on

此簡報為 Will 保哥 於 2015/6/25 (四) 接受 SQL PASS Taiwan 邀請演講的內容。

現場錄影: http://www.microsoftvirtualacademy.com/training-courses/sql-server-realase-management?mtag=MVP4015686

[ Will 保哥的部落格 - The Will Will Web ]
http://blog.miniasp.com

[ Will 保哥的技術交流中心 ] (Facebook 粉絲專頁)
https://www.facebook.com/will.fans

[ Will 保哥的噗浪 ]
http://www.plurk.com/willh/invite

[ Will 保哥的推特 ]
https://twitter.com/Will_Huang

[ Will 保哥的 G+ 頁面 ]
http://gplus.to/willh

Published in: Software
  • Be the first to comment

SQL Server 資料庫版本控管

  1. 1. SQL Server 資料庫版本控管 多奇數位創意有限公司 技術總監 黃保翕 ( Will 保哥 ) 部落格:http://blog.miniasp.com/
  2. 2. 為什麼資料庫要版控? • 各位面臨到甚麼挑戰? – 不同的資料庫版本,彼此之間都有些小差異 – 資料庫版控與應用程式版控完全脫鉤 – 資料庫部署在不同的運行環境 (本地 vs. 雲端) – 資料庫經常需要在不同環境之間移轉 • 你怎麼辦? 2
  3. 3. 基礎 Git 版控教學 Git Basics
  4. 4. Git 極速上手 • 安裝 GitHub for Windows – https://windows.github.com/ • 開啟 Git Shell 命令提示字元 – 建立本地儲存庫 • git init – 加入初始版本 • git add . • git commit -m "Initial commit" – 新增變更版本 • git add . • git add -u . • git commit -m "摘要說明" – 還原至上一版本 • git reset --hard HEAD~ 4 參考文章:30 天精通 Git 版本控管 – 查看版本紀錄 • git log – 比對版本差異 • git diff • git diff V1 V2 – 上傳版本至遠端 • git push – 從遠端下載新版 • git pull
  5. 5. Git 極速上手 • 安裝 GitHub for Windows – https://windows.github.com/ • 開啟 GitHub 視窗工具 5 參考文章:30 天精通 Git 版本控管
  6. 6. Git 極速上手 • 開啟 Visual Studio 2013 並建立 SQL Server 資料庫專案 6 Visual Studio Online 與 Git 版本控管實戰
  7. 7. 認識與熟悉「產生指令碼」 Generate Scripts
  8. 8. 8
  9. 9. 9
  10. 10. 10
  11. 11. 11
  12. 12. 12
  13. 13. 13
  14. 14. 14
  15. 15. 15
  16. 16. 透過 Powershell 匯出指令碼 • Automated Script-generation with Powershell and SMO 16
  17. 17. 資料層應用程式 Data Tier Application
  18. 18. 資料層應用程式簡介 • 自我包含完整的資料庫物件 • 一致的資料庫部署、移轉、版控機制 • DAC 封裝檔 (.dacpac/.bacpac) – 可與 Visual Studio 2013 結合 – 可讓資料庫跟應用程式一起管理 (包含版本控管) – 直接從現有資料庫取得完整物件 – 可部署至 SQL Server 或 Azure SQL Databases 18
  19. 19. 名詞解釋 • DAC = Data-tier Applications • BAC = Backup • PAC = Package 19
  20. 20. DAC 封裝檔類型 • .dacpac – 保存完整的資料庫模型 – 用來佈署、升級資料庫 Schema 與版本 – DAC 是 SQL Server 資料庫部署的自主單位,可讓資 料層開發人員和資料庫管理員將 SQL Server 物件包裝 為可攜式成品,稱為 DAC 封裝,又稱為 DACPAC。 • .bacpac – 保存完整的資料庫模型與資料 – 用來備份、還原,不能用來升級資料庫 (內容包含資料庫中的資料,以 JSON 格式儲存) – BACPAC 是相關的成品,會封裝資料庫結構描述,以 及在資料庫中儲存的資料。 20
  21. 21. 資料層應用程式支援以下操作 • 擷取資料層應用程式 (EXTRACT) – 將目前資料庫匯出 DACPAC 封裝檔 • 部署資料層應用程式 (DEPLOY) – 將 DACPAC 發佈到主機上 (也會順便將資料庫註冊為 DAC) • 註冊為資料層應用程式 (REGISTER) – 將該資料庫的 DAC 定義註冊到 msdb 系統資料庫中!(INFO) • 升級資料層應用程式 (UPGRADE) – 拿一個新的 DACPAC 檔,將目前【已註冊】的 DAC 升級到新版 • 刪除資料層應用程式 (UNREGISTER) – 將該資料庫的 DAC 定義從 msdb 系統資料庫中刪除! • 匯出資料層應用程式 (EXPORT) – 備份 (包含資料) (須從資料庫節點來點選滑鼠右鍵) • 匯入資料層應用程式 (IMPORT) – 還原 (包含資料) (須從伺服器節點來點選滑鼠右鍵) • 將資料庫部署到 Windows Azure SQL Database 21
  22. 22. DAC SQL Server Data Tools SQL Server Management Studio Publish Compare Sync Import Export Register Unregister SQL Azure Management Portal
  23. 23. 使用 DAC 封裝檔的工具 • SQL Server Data Tools (SSDT) – Publish – Compare – Sync • SQL Server Management Studio (SSMS) – Import – Export – Register – Unregister 23
  24. 24. DAC Lifecycle Develop (SSDT) • Import Database/ DACPAC • Compare and Synchronize Sources • Build DACPAC from Database Project • Publish DACPAC Deploy (SSMS) • Deploy DAC Package • New Databases • Upgrade Databases Manage (SSMS) • Extract and Export DAC Packages • Register Database as DAC Developer DBA DBA/Admin
  25. 25. 總結 Summary
  26. 26. SQL Server 資料庫版本控制 • Git 版本控管 • 認識與熟悉「產生指令碼」 • 資料層應用程式
  27. 27. 聯絡資訊 • The Will Will Web 記載著 Will 在網路世界的學習心得與技術分享 – http://blog.miniasp.com/ • Will 保哥的技術交流中心 (臉書粉絲專頁) – http://www.facebook.com/will.fans • Will 保哥的噗浪 – http://www.plurk.com/willh/invite • Will 保哥的推特 – https://twitter.com/Will_Huang

×