Udostępnij za pośrednictwem


DevOps dla baz danych (wersja zapoznawcza) w programie SQL Server Management Studio

Projekt bazy danych SQL to lokalna reprezentacja obiektów SQL, które składają się na schemat pojedynczej bazy danych, takich jak tabele, procedury składowane lub funkcje. Cykl projektowania projektu bazy danych SQL pomaga zintegrować programowanie bazy danych z przepływami pracy ciągłej integracji i ciągłego wdrażania (CI/CD), które są znane jako najlepsze rozwiązania programistyczne. W programie SSMS można używać Microsoft.Build.Sql projektów w wersji zapoznawczej, aby ułatwić implementowanie zmian bazy danych, zarządzanie nimi i współpracę, zapewniając lokalną definicję obiektów bazy danych.

W tym artykule opisano, jak korzystać z projektów bazy danych SQL w programie SQL Server Management Studio (SSMS) jako części przepływów pracy DevOps bazy danych lub do zakotwiczenia ich. Aby uzyskać więcej informacji na temat projektów bazy danych SQL, zobacz Projekty bazy danych SQL.

Wymagania wstępne

Tworzenie nowego projektu

Aby pracować z projektami bazy danych SQL w programie SSMS, potrzebny jest folder lokalny zawierający pliki projektu. Projekt można uruchomić, wyodrębniając obiekty z istniejącej bazy danych lub tworząc od podstaw nowe pliki obiektów.

Zrzut ekranu przedstawiający okno dialogowe Nowy projekt w programie SQL Server Management Studio.

Uwaga / Notatka

Program SSMS może monitować o nawiązanie połączenia z serwerem podczas otwierania pliku w Eksploratorze rozwiązań. Tworzenie projektu bazy danych SQL można wykonać w trybie offline bez nawiązywania połączenia z bazą danych.

Dodawanie obiektów z istniejącej bazy danych

Użyj pakietu SqlPackage, aby wyodrębnić schemat z istniejącej bazy danych do poszczególnych .sql plików zorganizowanych według typu obiektu. Uruchom następujące polecenie, aby utworzyć strukturę folderów z obiektami bazy danych:

sqlpackage /Action:Extract /SourceConnectionString:"<connection-string>" /TargetFile:"<temp-folder>" /p:ExtractTarget=SchemaObjectType

Parametr /p:ExtractTarget=SchemaObjectType organizuje wyodrębnione pliki w podfoldery na podstawie schematu i typu obiektu (na przykład dbo/Tables, dbo/StoredProcedures). Wyodrębnij do folderu tymczasowego poza katalogiem projektu, a następnie skopiuj żądaną zawartość do folderu projektu za pomocą Eksploratora Windows.

Aby uzyskać więcej informacji na temat opcji wyodrębniania sqlPackage, zobacz SqlPackage extract (Wyodrębnianie pakietu SqlPackage).

Tworzenie nowych obiektów

Dodaj nowe obiekty bazy danych do projektu, tworząc .sql pliki w folderze projektu. Każdy plik powinien zawierać jedną CREATE instrukcję dla jednego obiektu bazy danych. Na przykład definicja tabeli:

CREATE TABLE [dbo].[Products]
(
    [ProductId] INT NOT NULL PRIMARY KEY,
    [ProductName] NVARCHAR (100) NOT NULL,
    [Price] DECIMAL (10, 2) NOT NULL
);

Organizowanie plików według schematu i typu obiektu przy użyciu podfolderów, takich jak dbo/Tables lub Sales/StoredProcedures. Ta struktura odpowiada wynikowi SqlPackage extract i ułatwia lokalizowanie obiektów wraz z rozwojem projektu. Proces kompilacji projektu SQL zawiera domyślnie wszystkie .sql pliki w folderze projektu i jego podfolderach.

Program SSMS udostępnia szablony dla typowych elementów, które ułatwiają rozpoczęcie pracy. Aby dodać nowy element, kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań, wybierz pozycję Dodaj>nowy element i wybierz z listy szablonów obiektów SQL.

Otwieranie istniejących projektów

Aby otworzyć istniejący projekt bazy danych SQL w programie SSMS, wybierz pozycję Plik>Otwórz>projekt/rozwiązanie i przejdź do .sqlproj pliku.

Ważna

Program SSMS obsługuje tylko projekty w stylu SDK Microsoft.Build.Sql. Minimalna obsługiwana wersja zestawu SDK to 2.1.0. Jeśli masz oryginalny projekt SQL utworzony w programie Visual Studio, musisz przekonwertować go na format w stylu zestawu SDK przed jego otwarciem.

Aby uzyskać wskazówki dotyczące konwertowania oryginalnych projektów SQL na format w stylu zestawu SDK, zobacz Konwertowanie oryginalnego projektu SQL na projekt w stylu zestawu SDK.

Kompilowanie projektów i wdrażanie zmian

Przepływ pracy projektu SQL składa się z dwóch głównych kroków: kompilowania projektu w celu zweryfikowania i skompilowania schematu oraz wdrożenia skompilowanych danych wyjściowych w docelowej bazie danych.

Budowanie projektu

Kompilowanie projektu SQL weryfikuje relacje między obiektami i sprawdza składnię języka T-SQL dla określonej platformy docelowej. Proces kompilacji tworzy .dacpac plik zawierający skompilowany model schematu bazy danych.

Aby skompilować projekt w programie SSMS, kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań i wybierz polecenie Kompiluj.

Zrzut ekranu Eksploratora rozwiązań przedstawiający opcję kompilacji projektu SQL.

Dane wyjściowe kompilacji wyświetlają wszelkie błędy lub ostrzeżenia. Błędy wskazują problemy, które uniemożliwiają wdrożenie, takie jak widok odwołujące się do tabeli, która nie istnieje. Ostrzeżenia wskazują na potencjalne problemy, takie jak niespójność wielkości liter w nazwach obiektów.

Po udanej kompilacji ten plik zostanie utworzony w folderze w katalogu projektu.

Aby uzyskać więcej informacji na temat rozwiązywania problemów z kompilacją, zobacz Rozwiązywanie problemów z błędami kompilacji projektu SQL.

Wdrażanie zmian

Po utworzeniu projektu wdróż element .dacpac w docelowej bazie danych przy użyciu okna dialogowego Publikowanie w programie SSMS. Proces wdrażania porównuje .dacpac z docelową bazą danych i generuje niezbędne CREATE instrukcje, ALTER lub DROP w celu zsynchronizowania bazy danych z projektem.

Aby wdrożyć, kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań i wybierz polecenie Publikuj. W oknie dialogowym Publikowanie skonfiguruj docelowe połączenie z bazą danych i wybierz pozycję Publikuj , aby zastosować zmiany lub wygenerować skrypt , aby przejrzeć skrypt wdrożenia przed wykonaniem.

Zrzut ekranu przedstawiający okno dialogowe Publikowanie dotyczące wdrażania zmian projektu bazy danych SQL.

Proces publikowania jest idempotentny, więc można wdrożyć to samo .dacpac wiele razy bez powodowania problemów. Takie podejście umożliwia wdrażanie w wielu środowiskach (deweloperskie, testowe, produkcyjne) przy użyciu tego samego skompilowanego artefaktu.

Aby uzyskać szczegółowe informacje na temat opcji wdrażania i konfiguracji, zobacz Wprowadzenie do projektów bazy danych SQL.