Microsoft Fabric 中的 SQL 資料庫原始檔控制整合
✅適用於:Microsoft Fabric 中的 SQL 資料庫
在本教學課程中,您將瞭解如何使用 Fabric 中的 SQL 資料庫與 Fabric Git 整合原始檔控制。
Microsoft Fabric 中的 SQL 資料庫具有原始檔控制整合或「git 整合」,可讓 SQL 使用者追蹤其資料庫物件的定義一段時間。 此整合可讓小組:
- 將資料庫認可至原始檔控制,這會自動將即時資料庫轉換成已設定的原始檔控制存放庫中的程式代碼(例如 Azure DevOps)。
- 從原始檔控制的內容更新資料庫物件,在將差異變更套用至資料庫之前,先驗證原始檔控制存放庫中的程序代碼。
如果您不熟悉 git,以下是一些建議的資源:
本文提供一系列實用的案例,這些案例可以個別或結合使用,以在 Fabric 中使用 SQL 資料庫來管理您的開發程式:
必要條件
- 您需要的是現有 Fabric 容量。 如果您沒有,則開始試用 Fabric。
- 請確定您在 網狀架構租使用者設定中啟用 SQL 資料庫。
- 請確定您 啟用 Git 整合租用戶設定。
- 建立新的工作區或使用現有的 Fabric 工作區。
- 在 Fabric 中建立或使用現有的 SQL 資料庫。 如果您還沒有 SQL 資料庫, 請在 Fabric 中建立新的 SQL 資料庫。
- 選擇性:安裝 Visual Studio Code、mssql 擴充功能和 VS Code 的 SQL 專案 延伸模組。
設定
此存放庫連線適用於工作區層級,因此存放庫中的單一分支與該工作區相關聯。 存放庫可以有多個分支,但只有工作區設定中所選取分支中的程式代碼會直接影響工作區。
如需將工作區連線到原始檔控制存放庫的步驟,請參閱 開始使用 Git 整合。 您的工作區可以連線到 Azure DevOps 或 GitHub 遠端存放庫。
將 Fabric SQL 資料庫新增至原始檔控制
在此案例中,您會將資料庫對象認可至原始檔控制。 您可能會開發一個應用程式,其中您要直接在測試資料庫中建立物件,並在原始檔控制中追蹤該資料庫,就像應用程式程式碼一樣。 因此,您可以存取資料庫物件的定義歷程記錄,而且可以使用分支和合併等 Git 概念來進一步自定義您的開發程式。
- 在 Fabric SQL 編輯器、SQL Server Management Studio、使用 Visual Studio Code 的 mssql 擴充功能或其他外部工具中連線到您的 SQL 資料庫。
- 在資料庫中建立新的數據表、預存程式或其他物件。
...
選取資料庫的功能表,選取 [重新整理 Git 同步處理狀態]。- 選取 [ 原始檔控制] 按鈕以開啟原始檔 控制面板。
- 選取所需資料庫旁的複選框。 選取 [認可]。 Fabric 服務會從資料庫讀取物件定義,並將其寫入遠端存放庫。
- 您現在可以在程式代碼存放庫原始檔檢視中檢視 資料庫物件的歷程記錄 。
當您繼續編輯資料庫,包括編輯現有的物件時,您可以遵循上述步驟,將這些變更認可至原始檔控制。
從原始檔控制更新 Fabric SQL 資料庫
在此案例中,您會在 VS Code 的 SQL 專案延伸模組中建立資料庫對象作為程式代碼,然後認可檔案至原始檔控制,再從原始檔控制整合更新 Fabric SQL 資料庫。 此案例的目標是想要在 VS Code 中工作的開發人員、使用 SQL 專案的現有應用程式,或具有更進階的 CI/CD 管線需求。
- 請確定您已安裝最新版的 VS Code,以及 VS Code 的 mssql 和 SQL 專案延伸模組。
- 您將使用 VS Code 的整合式 Git 原始檔控制。
- 在工作區中建立新的 SQL 資料庫 ,並將其認可至原始檔控制,而不需要新增任何物件。 此步驟會將空的 SQL 專案和 SQL 資料庫專案元數據新增至存放庫。
- 將原始檔控制存放庫複製到本機計算機。
- 在 Visual Studio Code 中開啟複製的資料夾。 與您的工作區相關聯的分支可能不是預設值。 切換分支之後,您應該會在 VS Code 中看到名為
<yourdatabase>.SQLDatabase
的資料夾。 - 為至少一個
.sql
您想要在資料庫資料夾結構內的資料庫中建立檔案。 檔案應該包含CREATE TABLE
數據表的語句。 例如,使用下列內容在資料夾中dbo/Tables
建立名為MyTable.sql
的檔案:CREATE TABLE dbo.MyTable ( Id INT PRIMARY KEY, ExampleColumn NVARCHAR(50) );
- 為了確保語法有效,我們可以使用 SQL 專案來驗證資料庫模型。 新增檔案之後,請使用 VS Code 中的 [資料庫專案] 檢視來 建 置專案。
- 建置成功之後, 請使用 VS Code 或您慣用的本機 Git 介面中的原始檔控制檢視,將檔案認可 至原始檔控制。
- 將認可推送/同步處理至遠端存放庫。 檢查您的新檔案是否已出現在 Azure DevOps 或 GitHub 中。
- 返回 Fabric Web 介面,並在工作區中開啟 [原始檔] 控制面板 。 您可能已經有「您有來自 git 的擱置變更」的警示。 選取 [ 更新全部更新] 按鈕,將 SQL 專案的程式代碼套用至資料庫。
- 您可能會在更新之後立即看到資料庫指出它為「未認可」。 這是因為 Git 整合功能會直接比較針對專案定義所產生的所有檔案內容,而且可能會有一些無意的差異。 其中一個範例是數據行上的內嵌屬性。 在這些情況下,您必須認可回 Fabric Web 介面中的原始檔控制,以將定義與認可作業產生的內容同步處理。
- 更新完成後,請使用您選擇的工具來連線到資料庫。 您加入至資料庫中可見之 SQL 項目的物件。
注意
對本機 SQL 專案進行變更時,如果 Fabric 中有語法錯誤或使用不支援的功能,資料庫更新將會失敗。 您必須先手動還原原始檔控制中的變更,才能繼續。
建立分支工作區
在此案例中,您會在 Fabric 中設定新的開發環境,方法是讓 Fabric 根據原始檔控制定義建立一組重複的資源。 重複的資料庫會包含我們已簽入原始檔控制的資料庫物件。 此案例的目標是開發人員在 Fabric 中繼續其應用程式開發生命週期,並利用來自 Fabric 的原始檔控制整合。
- 完成案例, 將 Fabric SQL 資料庫轉換成原始檔控制中的程式代碼。
- 您應該在原始檔控制存放庫中同時具有 SQL 專案和 Fabric 物件元數據的分支。
- 在 [網狀架構] 工作區中 ,開啟原始檔控制面板 。 從 [原始檔控制] 功能表的 [分支] 索引標籤中,選取 [分支輸出至新的工作區]。
- 指定將建立的分支和工作區名稱。 分支將會在原始檔控制存放庫中建立,並填入與您分支建立之工作區相關聯之分支的認可內容。 工作區將會在 Fabric 中建立。
- 流覽至 Fabric 中新建立的工作區。 當資料庫建立完成時,新建立的資料庫現在會包含程式代碼存放庫中指定的物件。 如果您開啟網狀架構查詢編輯器並在 [物件總管] 中巡覽,您的資料庫就會有新的 (空白) 數據表和其他物件。
將一個分支的變更合併到另一個分支
在此案例中,您將使用原始檔控制存放庫來檢閱資料庫變更,然後才可供部署。 此案例的目標是在小組環境中工作的開發人員,並使用原始檔控制來管理其資料庫變更。
在相同的存放庫中建立兩個具有相關聯分支的工作區,如上一個案例所述。
- 使用輔助分支上的資料庫,對資料庫對象進行變更。
- 例如,修改現有的預存程式或建立新的數據表。
- 使用 Fabric 中原始檔控制面板上的 [ 認可 ] 按鈕,簽入原始檔控制中的這些變更。
- 在 Azure DevOps 或 GitHub 中,從次要分支建立提取要求至主要分支。
- 在提取要求中,您可以看到主要工作區與次要工作區之間的資料庫程式碼變更。
- 完成提取要求之後,原始檔控制就會更新,但主要工作區上的 Fabric 資料庫不會變更。 若要變更主資料庫,請使用 Fabric 中原始檔控制面板上的 [更新 ] 按鈕,從原始檔控制更新主要工作區。