建置、升級與轉換您的資料庫 - Data Tier Applications DBI313 建置、升級與轉換您的資料庫 - Data Tier Applications 楊志強 lewisdba@gmail.com MCT of SQL Server , Cloud DBA 台灣微軟MVP
Agenda SQL Server Data-Tier Application DAC Framework 移轉SQL Server Terminology Architecture DAC Framework DACPACs 與 BACPACs SSDT整合DAC 移轉SQL Server SAMP與SSMS轉入SQL Server Azure 其他SQL Migration工具
Terminology Architecture SQL Server Data-Tier Application Terminology Architecture
加入需要管理 Instances, Register DACs 開發 部署 DBA SQL Server Management Studio DBA SQL Server Management Studio 3 5 交付給 Dev Deploy / Upgrade DAC 9 依照需求修改 6 匯出 Engineer DAC 4 Visual Studio 2010 Developer 交還給DBA 8 DBA Managed Server Group Control Point Finance 建立 Control Point, Control Point 1 Compile + Build .dacpac 7 Managed Server Group Finance 2 加入需要管理 Instances, Register DACs
甚麼是DAC 核心SQL Server组件提供建模反向工程和佈署能力 DAC – Data-tier Application DACFx – DAC Framework DACPAC –僅包含資料庫結構佈署指令 BACPAC –包含資料庫結構與資料佈署指令
Module 2: Getting Started with SQL Azure Course 10774A DAC Framework架構 該DACFx架構從Database到Visual Studio SSDT
支援系統與平台與工具 雲端 Azure 一般系統 *: 自動安裝 Blob Storage SQL Database DAC Fx Import/Export 一般系統 SQL Server 2005, 2008/R2, 2012* 前端工具 SSMS SSDT Command-line tool (SqlPackage.exe) DACUnpack.exe *: 自動安裝 SQL Database Blob Storage SQL Database Service Import / Export BACPAC Copy DACFx Import/Export Service BACPAC Upload/ Download Import / Export Request (REST) 一般系統 Client-side Import/Export
全新的SQL Server 2012 DACFx 工具 直接整合SSMS 包含產生 載入/儲存 DACPACs 與 BACPACs
整合Azure Storage 將匯出的DACPACs 與 BACPAC直接放在Azure 需要額外啟動Azure Storage Container
使用SSMS移轉資料庫到Azure 搭配Azure Storage Container
DACPACs 與 BACPACs SSDT整合DAC DAC Framework DACPACs 與 BACPACs SSDT整合DAC
DAC 演化變革 從Visual Studio 2008開始導入 .dbschema v1.1 Visual Studio 2008 Database Edition GDR .dbschema v1.2 Visual Studio 2010 Database Projects .sqlx v1.0 SQL Server Data Tools CTP3 .dacpac v2.5 CTP4 .dacpac v1.0 SQL 2008 R2 RC .dacpac v1.05 RTM .dacpac v1.1 SP1 .dacpac v2.0 SQL 2012 RC0 .dacpac v3.0 redist consumed by all SQL products
DACPACs 與 BACPACs差異 .dacpac 封裝僅包含宣告式資料庫Model結構 Not SQL, 僅有包含宣告式資料庫Model 與資料庫版本 從來源程式碼或是現有資料庫取得 可以成為下一個新的資料庫佈署的基礎或是更新現有資料庫 .bacpac 封裝包含宣告式資料庫Model結構與資料 包含資料庫Model結構與資料串流 需要從現有資料庫中匯出 可以匯入到全新的資料庫或是載入資料到.dacpac 產生的空白資料庫
使用DAC Fx的BACPACs限制 Not Supported SqlVariant資料型別 沒有交易式處理 需要為 SQL Database相容(like PK) 加密與安全資料(密碼, 加密物件...) 不支援 SQL Server 2000 Source database should be in Read-Only mode while export occurs (or have no write activity against it)
使用. dacpac產生新的Azure空白資料庫與載入資料
SQL Server Data Tools (SSDT) 開發者為中心的工具集,用於編寫,編譯和發布DACPACs 從使用者角度出發 Connected Development Project Based Development Application Lifecycle & Tools 支援DACPACs設計 可以編輯DACPACs 可以進行結構比較DACPACs 與現有資料庫專案, 資料庫, 與其他DACPACs 匯入DACPACs 佈署DACPAC/Project 到實體資料庫
開發人員的新利器SSDT SSDT開發環境實作結構比較
SAMP與SSMS轉入SQL Database 其他SQL Migration工具 移轉SQL Server SAMP與SSMS轉入SQL Database 其他SQL Migration工具
移轉資料庫到 SQL Database 直接使用SSMS佈署SQL Server 2012資料庫 全部套件已經預設安裝完成 SQL Server* 2008 R2, 2008, 2005需安裝 Data-tier Application Framework ScriptDOM System CLR Types http://www.microsoft.com/zh-tw/download/details.aspx?id=29065
移轉資料庫到 SQL Database 使用one-click [Deploy Database to SQL Azure]
使用SQL Azure Management Portal (SAMP) 支援DACPACs直接佈署 支援直接從SAMP匯出DACPACs
移轉資料庫到 SQL Database 其他便利的移轉工具 BCP Utility
移轉資料庫到 SQL Database 其他便利的移轉工具 SQL Server Integration Services
移轉資料庫到 SQL Database 其他便利的移轉工具 Generate Scripts Wizard SQL Database Migration Assistants SQL Migration Wizard
使用SAMP佈署資料庫