Udostępnij za pośrednictwem


Integracja kontroli źródła bazy danych SQL w Microsoft Fabric

Dotyczy:bazy danych SQL w Microsoft Fabric

W tym samouczku nauczysz się, jak pracować z bazą danych SQL w usłudze Fabric, używając integracji git do kontroli źródła w usłudze Fabric.

Baza danych SQL w usłudze Microsoft Fabric ma integrację kontroli źródła lub "integrację z usługą Git", dzięki czemu użytkownicy mogą śledzić definicje swoich obiektów bazy danych w czasie. Ta integracja umożliwia zespołowi:

  • Zatwierdź bazę danych do kontroli źródła, która automatycznie konwertuje dynamiczną bazę danych na kod w skonfigurowanym repozytorium kontroli źródła (na przykład Azure DevOps).
  • Zaktualizuj obiekty bazy danych na podstawie zawartości systemu kontroli wersji, który weryfikuje kod w repozytorium kontroli wersji przed zastosowaniem zmian różnicowych w bazie danych.

Diagram prostego cyklu zatwierdzania i aktualizacji między dynamiczną bazą danych a kontrolą źródła.

Jeśli nie znasz narzędzia git, oto kilka zalecanych zasobów:

W tym artykule przedstawiono szereg przydatnych scenariuszy, których można użyć indywidualnie lub w połączeniu do zarządzania procesem programowania za pomocą bazy danych SQL w sieci szkieletowej:

Scenariusze przedstawione w tym artykule zostały omówione w odcinku programu "Data Exposed". Obejrzyj film wideo, aby uzyskać omówienie integracji kontroli źródła w usłudze Fabric:

Uwaga

Ustawienia na poziomie bazy danych, takie jak sortowanie i poziom zgodności, nie są obecnie uwzględniane w integracji potoków kontroli źródła i wdrażania. W przypadku ustawień bazy danych, które można ustawić przy użyciu języka T-SQL po utworzeniu bazy danych, można zmodyfikować bazę danych za pomocą skryptów po wdrożeniu.

Wymagania wstępne

Ustawienia

To połączenie repozytorium ma zastosowanie na poziomie obszaru roboczego, tak aby pojedyncza gałąź w repozytorium jest skojarzona z tym obszarem roboczym. Repozytorium może mieć wiele gałęzi, ale tylko kod w gałęzi wybranej w ustawieniach obszaru roboczego ma bezpośredni wpływ na obszar roboczy.

Aby uzyskać instrukcje łączenia obszaru roboczego z repozytorium kontroli źródła, zobacz Wprowadzenie do integracji z usługą Git. Obszar roboczy można połączyć z repozytorium zdalnym Azure DevOps lub GitHub.

Dodawanie bazy danych SQL fabric do kontroli źródła

W tym scenariuszu zatwierdzasz obiekty bazy danych do kontroli wersji. Być może tworzysz aplikację, w której tworzysz obiekty bezpośrednio w testowej bazie danych i śledzisz ją w kontroli źródła, podobnie jak w kodzie aplikacji. W związku z tym masz dostęp do historii definicji obiektów bazy danych i możesz używać pojęć usługi Git, takich jak rozgałęzianie i scalanie, aby dostosować proces programowania.

  1. Podłącz się do swojej bazy danych SQL w edytorze SQL Fabric, SQL Server Management Studio, rozszerzeniu MSSQL dla Visual Studio Code lub innych narzędzi zewnętrznych.
  2. Utwórz nową tabelę, procedurę składowaną lub inny obiekt w bazie danych.
  3. Wybierz przycisk Kontrola Źródła, aby otworzyć panel kontroli źródła.
  4. Zaznacz pole wyboru obok żądanej bazy danych. Wybierz pozycję Zatwierdź. Usługa Fabric odczytuje definicje obiektów z bazy danych i zapisuje je w repozytorium zdalnym.
  5. Teraz możesz wyświetlić historię obiektów bazy danych w widoku źródłowym repozytorium kodu.

Podczas edytowania bazy danych, w tym edytowania istniejących obiektów, zatwierdź te zmiany kontroli źródła, wykonując powyższe kroki.

Plik projektu SQL

Plik projektu SQL w repozytorium kontroli źródła zawiera metadane dotyczące bazy danych. Integracja z kontrolą wersji w Fabric używa tego pliku w celu zapewnienia większej funkcjonalności w potokach kontroli wersji i wdrażania. Integracja kontroli wersji Fabric automatycznie generuje i aktualizuje plik projektu. Unikaj ręcznej edycji pliku projektu, ponieważ Twoje zmiany w pliku projektu są zastępowane przez integrację kontroli źródłowej Fabric przy następnym zatwierdzeniu z Fabric. Jeśli jednak chcesz utworzyć projekt SQL lokalnie przy użyciu narzędzi SQL, takich jak SQL Server Management Studio lub rozszerzenie projektów SQL dla programu Visual Studio Code, możesz dodać odwołanie do master.dacpac pliku w pliku projektu.

Integracja sieci szkieletowej z projektami SQL dodaje te właściwości metadanych do pliku projektu:

Funkcja odwołania do obiektów systemowych jest konfigurowana automatycznie bez wymaganej akcji. Edytor zapytań Fabric oferuje skrypty przed wdrożeniem i po wdrożeniu w folderze Udostępnione zapytania.

Aktualizowanie bazy danych SQL fabric z kontroli źródła

W tym scenariuszu tworzysz obiekty bazy danych jako kod w rozszerzeniu projektów SQL w programie Visual Studio Code, następnie zatwierdzasz pliki do kontroli źródła, zanim zaktualizujesz bazę danych Fabric SQL za pomocą integracji kontroli źródła. Ten scenariusz jest przeznaczony dla deweloperów, którzy wolą pracować w Visual Studio Code, mają istniejące aplikacje korzystające z projektów SQL lub mają bardziej zaawansowane wymagania dotyczące potoków CI/CD.

  1. Upewnij się, że zainstalowano najnowszą wersję programu Visual Studio Code oraz rozszerzenia projektów MSSQL i SQL dla programu Visual Studio Code.
  2. Utwórz nową bazę danych SQL w obszarze roboczym i zatwierdź ją do kontroli źródła bez dodawania żadnych obiektów. Ten krok powoduje dodanie pustych metadanych projektu SQL i elementu bazy danych SQL do repozytorium.
  3. Sklonuj repozytorium kontroli źródła na komputer lokalny.
    • Jeśli używasz Azure DevOps, wybierz menu kontekstowe ... dla projektu kontroli źródła. Wybierz pozycję Clone aby skopiować repozytorium Azure DevOps na komputer lokalny. Jeśli jesteś nowy w Azure DevOps, zobacz przewodnik Programowanie przy użyciu git dla Azure DevOps.
    • Jeśli używasz GitHub, wybierz przycisk Code w repozytorium i skopiuj adres URL, aby sklonować repozytorium na komputer lokalny. Jeśli dopiero zaczynasz korzystać z GitHub, zobacz przewodnik klonowanie repozytorium.
  4. Otwórz sklonowany folder w Visual Studio Code. Gałąź skojarzona z twoim środowiskiem roboczym może nie być domyślna. Po przełączeniu gałęzi powinien zostać wyświetlony folder o nazwie <yourdatabase>.SQLDatabase w programie Visual Studio Code.
  5. .sql Utwórz plik dla co najmniej jednej tabeli, którą chcesz utworzyć w bazie danych w strukturze folderów dla bazy danych. Plik powinien zawierać instrukcję CREATE TABLE dla tabeli. Na przykład utwórz plik o nazwie MyTable.sql w folderze dbo/Tables o następującej zawartości:
    CREATE TABLE dbo.MyTable
    (
        Id INT PRIMARY KEY,
        ExampleColumn NVARCHAR(50)
    );
    
  6. Aby upewnić się, że składnia jest prawidłowa, zweryfikuj model bazy danych w projekcie SQL. Po dodaniu plików użyj widoku Projekty bazy danych w programie Visual Studio Code, aby skompilować projekt.
  7. Po pomyślnej kompilacji zatwierdź pliki do kontroli źródła przy użyciu widoku kontroli źródła w programie Visual Studio Code lub preferowanym lokalnym interfejsie git.
  8. Wypchnij lub zsynchronizuj swój commit do zdalnego repozytorium. Sprawdź, czy nowe pliki są wyświetlane w usłudze Azure DevOps lub GitHub.
  9. Wróć do interfejsu internetowego Fabric i otwórz panel Zarządzanie źródłem w obszarze roboczym. Być może masz już alert, że "masz zmiany oczekujące na zatwierdzenie z Git". Wybierz przycisk Aktualizuj (Aktualizuj wszystko), aby zastosować kod z projektu SQL do bazy danych.
    • Po aktualizacji baza danych może natychmiast wskazywać, że jest ona "Niezatwierdzona". Dzieje się tak, ponieważ funkcja integracji z usługą Git wykonuje bezpośrednie porównanie całej zawartości pliku wygenerowanej dla definicji elementu, a niektóre niezamierzone różnice są możliwe. Jednym z przykładów są atrybuty wbudowane w kolumnach. W takich przypadkach należy zatwierdzić do systemu kontroli wersji w interfejsie webowym Fabric, aby zsynchronizować definicję z elementami wygenerowanymi w ramach operacji commit.
  10. Po zakończeniu aktualizacji użyj wybranego narzędzia, aby nawiązać połączenie z bazą danych. Obiekty dodane do projektu SQL są widoczne w bazie danych.

Uwaga

Po wprowadzeniu zmian w lokalnym projekcie SQL, jeśli wystąpi błąd składniowy lub użycie nieobsługiwanych funkcji w usłudze Fabric, aktualizacja bazy danych zakończy się niepowodzeniem. Aby można było kontynuować, należy ręcznie przywrócić zmianę kontroli źródła.

Aktualizowanie bazy danych SQL w usłudze Fabric z systemu kontroli wersji łączy kompilację projektu SQL i operację publikowania SqlPackage. Kompilacja projektu SQL weryfikuje .dacpac składnię plików SQL i generuje plik. Operacja publikowania SqlPackage określa zmiany niezbędne do zaktualizowania bazy danych, aby dopasować ją do pliku .dacpac. Ze względu na uproszczony charakter interfejsu Fabric, do operacji publikowania przy użyciu SqlPackage stosowane są następujące opcje:

  • /p:ScriptDatabaseOptions = false
  • /p:DoNotAlterReplicatedObjects = false
  • /p:IncludeTransactionalScripts = true
  • /p:GenerateSmartDefaults = true

Możesz również sklonować źródłowy projekt SQL kontrolowany na komputer lokalny do edycji w programie Visual Studio Code, PROGRAMIE SQL Server Management Studio lub innych narzędziach projektu SQL. Skompiluj projekt SQL lokalnie, aby zweryfikować zmiany przed zatwierdzeniem ich do kontroli źródła.

Utwórz obszar roboczy gałęzi

W tym scenariuszu skonfigurujesz nowe środowisko programistyczne w usłudze Fabric, pozwalając Fabric na stworzenie zduplikowanego zestawu zasobów na podstawie definicji systemu kontroli wersji. Zduplikowana baza danych zawiera obiekty bazy danych zaewidencjonowane w systemie kontroli wersji. Ten scenariusz dotyczy deweloperów, którzy kontynuują cykl tworzenia aplikacji w sieci szkieletowej i korzystają z integracji kontroli źródła z sieci szkieletowej.

  1. Ukończ scenariusz konwertowanie bazy danych Fabric SQL do kodu w kontroli źródłowej.
    • Powinieneś mieć gałąź w repozytorium kontroli wersji, która zawiera zarówno projekt SQL, jak i metadane obiektów Fabric.
  2. W obszarze roboczym Fabric otwórz panel kontroli źródła. Na karcie Gałęzie menu Kontroli Źródła wybierz pozycję Rozgałęzienie do nowego obszaru roboczego.
  3. Określ nazwy gałęzi i obszaru roboczego do utworzenia. Gałąź jest tworzona w repozytorium kontroli wersji i wypełniana zatwierdzoną zawartością gałęzi, która jest skojarzona z obszarem roboczym, z którego wykonujesz rozgałęzienie. Obszar roboczy jest tworzony w usłudze Fabric.
  4. Przejdź do nowo utworzonego obszaru roboczego w usłudze Fabric. Po zakończeniu tworzenia bazy danych nowo utworzona baza danych zawiera teraz obiekty określone w repozytorium kodu. Jeśli otworzysz edytor zapytań sieci szkieletowej i przejdziesz do eksploratora obiektów, baza danych ma nowe (puste) tabele i inne obiekty.

Połącz zmiany z jednej gałęzi do innej

W tym scenariuszu użyjesz repozytorium kontroli źródła, aby przejrzeć zmiany bazy danych przed udostępnieniem ich do wdrożenia. Ten scenariusz dotyczy deweloperów, którzy pracują w środowisku zespołowym i używają kontroli źródła do zarządzania zmianami bazy danych.

Utwórz dwa obszary robocze ze skojarzonymi gałęziami w tym samym repozytorium, zgodnie z opisem w poprzednim scenariuszu.

  1. W przypadku bazy danych w gałęzi pomocniczej wprowadź zmiany w obiektach bazy danych.
    • Na przykład zmodyfikuj istniejącą procedurę składowaną lub utwórz nową tabelę.
  2. Zaewidencjonuj te zmiany w kontroli wersji, używając przycisku Zatwierdź na panelu kontroli wersji w Fabric.
  3. W Azure DevOps lub GitHub utwórz żądanie ściągnięcia z gałęzi pomocniczej do gałęzi podstawowej.
    • W pull request można zobaczyć zmiany w kodzie bazy danych pomiędzy głównym a pomocniczym obszarem roboczym.
  4. Po zakończeniu pull requestu, system kontroli wersji zostanie zaktualizowany, ale baza danych w Fabric w podstawowym obszarze roboczym nie zostanie zmieniona. Aby zmienić główną bazę danych, zaktualizuj podstawowy obszar roboczy z kontroli źródła za pomocą przycisku Aktualizuj na panelu kontroli źródła w Fabric.

Zarządzanie danymi statycznymi za pomocą skryptu po wdrożeniu

W tym scenariuszu kontrolujesz wiersze w tabeli odnośników w bazie danych za pomocą kontroli źródła. Możliwość, która umożliwia korzystanie z tych funkcji, skryptów przed wdrożeniem i po wdrożeniu, dotyczy również potoków wdrażania, dzięki czemu można zarządzać danymi statycznymi w obu scenariuszach za pomocą tych samych skryptów.

  1. Z poziomu bazy danych SQL w systemie Fabric, która jest połączona z systemem kontroli wersji, zidentyfikuj lub utwórz tabelę, dla której chcesz zarządzać danymi statycznymi. Na przykład może istnieć tabela, która jest używana przez aplikację dbo.Colors i ma znany zestaw wartości, które nie zmieniają się często.

  2. Utwórz nowe zapytanie w edytorze SQL w Fabric. W edytorze zapytań dodaj instrukcję MERGE w celu zarządzania zawartością Colors tabeli. Przykład:

    MERGE dbo.Colors AS target
    USING (VALUES
        (1, 'Red'),
        (2, 'Green'),
        (3, 'Blue')
    ) AS source (Id, Name)
    ON target.Id = source.Id
    WHEN MATCHED THEN
        UPDATE SET Name = source.Name
    WHEN NOT MATCHED BY TARGET THEN
        INSERT (Id, Name) VALUES (source.Id, source.Name)
    WHEN NOT MATCHED BY SOURCE THEN
        DELETE;
    
  3. Zmień nazwę zapytania na Post-Deployment-StaticData.sql i przenieś ją na Udostępnione zapytania.

  4. Po wybraniu pozycji Udostępnione zapytania wybierz menu ... dla zapytania i wybierz pozycję Ustaw jako skrypt po wdrożeniu.

To zapytanie jest uruchamiane automatycznie w ramach dowolnej aktualizacji kontroli wersji lub wdrożenia potoku, dzięki czemu można zarządzać danymi statycznymi w tabeli Colors przy użyciu kontroli wersji. Zapytanie można edytować w edytorze zapytań Fabric i zatwierdzać zmiany w kontroli wersji, aby zarządzać zmianami danych statycznych w czasie. Ponadto, ponieważ skrypty przed wdrożeniem i po wdrożeniu są zawarte w projekcie SQL, możesz również edytować zapytanie z komputera lokalnego przy użyciu programu Visual Studio Code lub innych narzędzi projektu SQL, a następnie zatwierdzić te zmiany w kontroli źródła. Dowiedz się więcej o skryptach przed wdrożeniem i po wdrożeniu w dokumentacji projektów SQL.