倉儲的原始檔控制(預覽版)
本文說明 Git 整合和部署管線如何用於 Microsoft Fabric 中的倉儲。 瞭解如何設定存放庫的連線、管理倉儲,以及跨不同環境部署倉儲。 Fabric 倉儲的原始檔控制目前是一項預覽版功能。
- 使用 Git 和 SQL 資料庫專案來管理個別資料庫物件中的累加變更、小組共同作業、提交歷程記錄。
- 使用部署管線將程式碼變更升級至不同的生產前和生產環境。
Git 整合
Microsoft Fabric 中的 Git 整合可讓開發人員將其開發程序、工具和最佳做法直接整合到 Fabric 平台中。 它可讓在 Fabric 中開發的開發人員:
- 備份其工作和設定工作版本
- 視需要還原至先前的階段
- 與其他人共同作業,或使用 Git 分支單獨工作
- 套用熟悉的原始檔控制工具的功能來管理 Fabric 項目
如需有關 Git 整合程序的詳細資訊,請參閱:
設定與原始檔控制的連線
從 [工作區設定] 頁面,您可以輕鬆地設定與存放庫的連線,以提交和同步變更。
- 若要設定連線,請參閱開始使用 Git 整合。 依照指示,將 Git 存放庫連線至 Azure DevOps 或 GitHub 作為 Git 提供者。
- 連線之後,您的項目,包括倉儲,會出現在 [原始檔控制] 面板中。
- 成功將倉儲執行個體連線到 Git 存放庫之後,您會在存放庫中看到倉儲資料夾結構。 您現在可以執行未來的作業,例如建立提取要求。
Git 中倉儲的資料庫專案
下圖是存放庫中每個倉儲項目的檔案結構範例:
當您將倉儲項目提交至 Git 存放庫時,倉儲會轉換為原始程式碼格式,做為 SQL 資料庫專案。 SQL 專案在本機代表組成單一資料庫結構描述的 SQL 物件,例如資料表、預存程序或函數。 資料庫物件的資料夾結構會依結構描述/物件類型來組織。 倉儲中的每個物件都會以 .sql 檔案表示,其中包含物件的資料定義語言 (Data Definition Language) (DDL) 定義。 SQL 資料庫專案中不包含倉儲資料表資料和 SQL 安全性功能。
共用查詢也會提交至存放庫,並繼承其另存新檔的名稱。
下載 Fabric 中倉儲的 SQL 資料庫專案
透過 Azure Data Studio 和 Visual Studio Code 內提供的 SQL 資料庫 Projects 延伸模組,您可以管理倉儲架構,並處理倉儲物件變更,就像其他 SQL 資料庫項目一樣。
若要下載倉儲結構描述的本機複本,請選取功能區中的 [下載 SQL 資料庫專案]。
包含倉儲結構描述定義的資料庫專案本機複本。 資料庫專案可用來:
- 在另一個倉儲中重新建立倉儲結構描述。
- 在用戶端工具(例如 Azure Data Studio 或 Visual Studio Code)中進一步開發倉儲結構描述。
將 SQL 資料庫專案發佈至新倉儲
若要將倉儲結構描述發佈至新倉儲:
部署管線
您也可以使用部署管線,在不同的環境(例如開發、測試和生產環境)中部署您的倉儲程式碼。 部署管線不會公開資料庫專案。
使用下列步驟,利用部署管線完成倉儲部署。
- 建立新的部署管線,或開啟現有的部署管線。 如需詳細資訊,請參閱開始使用部署管線。
- 根據您的部署目標,將工作區指派到不同的階段。
- 選取、檢視和比較項目,包括不同階段之間的倉儲,如下列範例所示。
- 選取 [部署],跨開發、測試和生產階段部署您的倉儲。
如需關於 Fabric 部署管線程序的詳細資訊,請參閱 Fabric 部署管線概觀。
原始檔控制的限制
- SQL 安全性功能必須使用指令碼型方法匯出/移轉。 考慮在 SQL 資料庫專案中使用部署後指令碼,可採用的設定方法為,使用 Azure Data Studio 內提供的 SQL 資料庫專案延伸項目來開啟專案。
Git 整合的限制
- 目前,如果您使用
ALTER TABLE
在資料庫專案中新增條件約束或資料行,則會在部署時卸除並重新建立資料表,導致資料遺失。 考慮下列因應措施來保留資料表定義和資料:- 使用
CREATE TABLE
和INSERT
、CREATE TABLE AS SELECT
或 [複製資料表],在倉儲中建立資料表的新複本。 - 視需要,使用
ALTER TABLE
修改具有新條件約束或資料行的新資料表定義。 - 刪除舊資料表。
- 使用 sp_rename,將新資料表重新命名為舊資料表的名稱。
- 以完全相同的方式修改 SQL 資料庫專案中舊資料表的定義。 原始檔控制中的倉儲和即時倉儲的 SQL 資料庫專案現在應該相符。
- 使用
- 目前,請勿建立以倉儲作為輸出目的地的資料流程 Gen2。 從 Git 提交和更新將會遭到存放庫中出現的名為
DataflowsStagingWarehouse
的新項目封鎖。 - Git 整合不支援 SQL 分析端點。
部署管線的限制
- 目前,如果您使用
ALTER TABLE
在資料庫專案中新增條件約束或資料行,則會在部署時卸除並重新建立資料表,導致資料遺失。 - 目前,請勿建立以倉儲作為輸出目的地的資料流程 Gen2。 部署將會遭到部署管線中出現的名為
DataflowsStagingWarehouse
的新項目封鎖。 - 部署管線中不支援 SQL 分析端點。