Udostępnij za pośrednictwem


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

Dotyczy:bazy danych SQL w Microsoft Fabric

Z tego samouczka dowiesz się, jak pracować z bazą danych SQL w usłudze Fabric przy użyciu kontroli źródła integracji git usługi Fabric.

Baza danych SQL w Microsoft Fabric ma integrację kontroli źródła lub "integrację z usługą Git", umożliwiając użytkownikom SQL śledzenie definicji 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óre mogą być używane 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:

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 będzie miał 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 zatwierdzsz obiekty bazy danych do kontroli źródła. 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żyć pojęć usługi Git, takich jak rozgałęzianie i scalanie, aby jeszcze bardziej 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 menu bazy danych, a następnie wybierz pozycję Odśwież stan synchronizacji usługi Git.
  4. Wybierz przycisk Kontrola Źródła, aby otworzyć panel kontroli źródła.
  5. 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.
  6. 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, możesz zatwierdzić te zmiany w kontroli źródła, wykonując powyższe kroki.

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

W tym scenariuszu utworzysz obiekty bazy danych jako kod w rozszerzeniu projektów SQL w programie VS Code, a następnie zatwierdzisz pliki do systemu kontroli wersji przed zaktualizowaniem bazy danych SQL Fabric za pomocą integracji z systemem kontroli wersji. Ten scenariusz jest przeznaczony dla deweloperów, którzy wolą pracować w programie VS Code, mają aplikacje używające projektów SQL lub mają bardziej zaawansowane wymagania dotyczące ciągłej integracji i wdrażania (CI/CD).

  1. Upewnij się, że zainstalowano najnowszą wersję programu VS Code oraz rozszerzenia projektów mssql i SQL dla programu VS 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 VS 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, możemy zweryfikować model bazy danych w projekcie SQL. Po dodaniu plików użyj widoku Projekty bazy danych w programie VS Code, aby skompilować projekt.
  7. Po pomyślnej kompilacji zatwierdź pliki do kontroli źródła za pomocą widoku kontroli źródła w programie VS Code lub preferowanego lokalnego interfejsu git.
  8. Wypchnij lub zsynchronizuj swój commit do zdalnego repozytorium. Sprawdź, czy nowe pliki pojawiły się w 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". Wynika to z faktu, że 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ć zmiany w systemie kontroli wersji w interfejsie sieciowym Fabric, aby zsynchronizować definicję z elementami wygenerowanymi w ramach operacji zatwierdzania.
  10. Po zakończeniu aktualizacji użyj wybranego narzędzia, aby nawiązać połączenie z bazą danych. Obiekty dodane do projektu SQL widoczne w bazie danych.

Uwaga

W przypadku wprowadzania zmian w lokalnym projekcie SQL, jeśli wystąpi błąd składniowy lub użycie nieobsługiwanych funkcji w sieci szkieletowej, 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 publikacji SqlPackage określiła zmiany niezbędne do zaktualizowania bazy danych w celu dopasowania 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

Kontrolowany projekt SQL można również sklonować na komputer lokalny do edycji w programie VS Code, Visual Studio lub innych narzędziach do projektów SQL. Projekt SQL powinien zostać skompilowany 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, zlecając usłudze Fabric utworzenie zduplikowanego zestawu zasobów na podstawie definicji kontroli źródła. Zduplikowana baza danych będzie zawierać obiekty bazy danych, które zaewidencjonowaliśmy w kontroli źródła. Ten scenariusz jest przeznaczony dla 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, które zostaną utworzone. Gałąź zostanie utworzona w repozytorium kontroli wersji i zostanie automatycznie wypełniona wprowadzoną zawartością gałęzi połączonej z obszarem roboczym, z którego tworzysz gałąź. Obszar roboczy zostanie utworzony w 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 ich udostępnieniem do wdrożenia. Ten scenariusz jest przeznaczony dla 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 systemie kontroli wersji za pomocą przycisku Zatwierdź na panelu sterowania 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.