Samouczek: rozpoczynanie od istniejącej bazy danych

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w Microsoft Fabric

Projekty SQL zawierają pliki deklaratywne (CREATE instrukcja) dla wszystkich obiektów w bazie danych, takich jak tabele, widoki i procedury składowane. Tych plików można użyć do tworzenia nowych baz danych, aktualizowania istniejących baz danych lub śledzenia bazy danych w kontroli źródła. Często zaczynasz od projektu SQL, gdy masz istniejącą bazę danych i chcesz utworzyć obiekty w projekcie SQL, które są zgodne z bazą danych z minimalnym nakładem pracy.

Niektóre narzędzia projektu SQL obejmują jeden krok tworzenia nowego projektu SQL z istniejącej bazy danych. Inne narzędzia wymagają wykonania kilku kroków w celu utworzenia nowego projektu SQL, a następnie zaimportowania obiektów z istniejącej bazy danych. Z wyjątkiem instrukcji Visual Studio (SQL Server Data Tools), ten przewodnik koncentruje się na projektach SQL w stylu zestawu SDK.

Dla opcji 1 w tym samouczku:

  • Krok 1: Tworzenie nowego projektu SQL na podstawie istniejącej bazy danych
  • Krok 2. Kompilowanie projektu SQL

Jeśli wybierzesz opcję 2 w tym samouczku, wykonasz następujące czynności:

  • Krok 1: Tworzenie nowego pustego projektu SQL
  • Krok 2. Importowanie obiektów z istniejącej bazy danych
  • Krok 3: Kompilowanie projektu SQL

Prerequisites

# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage

# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates

Note

Aby ukończyć samouczek, musisz mieć dostęp do wystąpienia Azure SQL lub SQL Server. Możesz bezpłatnie rozwijać się lokalnie za pomocą SQL Server developer edition w systemie Windows lub w kontenerach.

Opcja 1. Tworzenie nowego projektu SQL z istniejącej bazy danych

Krok 1. Tworzenie nowego projektu SQL z istniejącej bazy danych

W Visual Studio SQL Server Object Explorer kliknij prawym przyciskiem myszy bazę danych, z której chcesz utworzyć project, a następnie wybierz pozycję Utwórz nową Project... .

Zrzut ekranu okna dialogowego Importowanie bazy danych w Visual Studio.

W oknie dialogowym Utwórz nowy projekt wprowadź nazwę projektu. Nazwa projektu nie musi być zgodna z nazwą bazy danych. Zweryfikuj i zmodyfikuj lokalizację projektu zgodnie z potrzebami. Domyślne ustawienia importu importują obiekty do folderów najpierw według schematu, a następnie według typu obiektu. Możesz zmodyfikować ustawienia importu, aby zmienić strukturę folderów lub uwzględnić uprawnienia do importowanych obiektów. Rozpocznij import.

W oknie dialogowym Importowanie bazy danych wyświetlany jest postęp importowania jako komunikaty. Po zakończeniu importowania można zobaczyć zaimportowane obiekty w Solution Explorer. Proces przechowuje logi w pliku w katalogu projektu pod Import Schema Logs. Wybierz Zakończ

Opcja 1 nie jest dostępna dla projektów SQL w stylu zestawu SDK w Visual Studio. Zamiast tego użyj opcji 2.

W widoku eksploratora obiektów bazy danych w Visual Studio Code wybierz bazę danych, z której chcesz utworzyć projekt. Kliknij prawym przyciskiem myszy bazę danych i wybierz pozycję Utwórz Project z bazy danych.

 Zrzut ekranu przedstawiający okno dialogowe Tworzenie projektu z bazy danych w oknie dialogowym Visual Studio Code.

W Visual Studio Code okno dialogowe Utwórz projekt z bazy danych wymaga nazwy i lokalizacji projektu. Domyślne ustawienia importu importują obiekty do folderów najpierw według schematu, a następnie według typu obiektu. Możesz wybrać inną strukturę folderów lub wybrać opcję dołączenia uprawnień do importowanych obiektów przed wybraniem pozycji Utwórz.

Otwórz widok Database Projects, aby wyświetlić nowy projekt i zaimportowane definicje obiektów.

Opcja 1 nie jest dostępna dla SQL Server Management Studio. Zamiast tego użyj opcji 2.

Opcja 1 nie jest dostępna dla wiersza polecenia. Zamiast tego użyj opcji 2.

Krok 2. Kompilowanie projektu SQL

Proces kompilacji weryfikuje relacje między obiektami i składnią względem platformy docelowej określonej w pliku projektu. Dane wyjściowe artefaktu z procesu kompilacji to .dacpac plik, którego można użyć do wdrożenia projektu w docelowej bazie danych. Ten plik zawiera skompilowany model schematu bazy danych.

W Solution Explorer kliknij prawym przyciskiem myszy węzeł projektu i wybierz pozycję Build.

Zostanie automatycznie otwarte okno danych wyjściowych w celu wyświetlenia procesu kompilacji. Jeśli występują błędy lub ostrzeżenia, zostaną one wyświetlone w oknie wyników. W przypadku pomyślnej kompilacji tworzony jest artefakt kompilacji (.dacpac plik), a jego lokalizacja jest uwzględniona w danych wyjściowych kompilacji (wartość domyślna to bin\Debug\projectname.dacpac).

Opcja 1 nie jest dostępna dla projektów SQL w stylu zestawu SDK w Visual Studio. Zamiast tego użyj opcji 2.

W widoku Database Projects Visual Studio Code kliknij prawym przyciskiem myszy węzeł projektu i wybierz pozycję Build.

Zostanie automatycznie otwarte okno danych wyjściowych w celu wyświetlenia procesu kompilacji. Jeśli występują błędy lub ostrzeżenia, zostaną one wyświetlone w oknie wyników. W przypadku pomyślnej kompilacji tworzony jest artefakt kompilacji (.dacpac plik), a jego lokalizacja jest uwzględniona w danych wyjściowych kompilacji (wartość domyślna to bin/Debug/projectname.dacpac).

Opcja 1 nie jest dostępna dla SQL Server Management Studio. Zamiast tego użyj opcji 2.

Opcja 1 nie jest dostępna dla wiersza polecenia. Zamiast tego użyj opcji 2.

Opcja 2. Tworzenie nowego pustego projektu SQL i importowanie obiektów z istniejącej bazy danych

Alternatywnie można oddzielić kroki tworzenia projektu i importowania obiektów.

Krok 1. Tworzenie nowego pustego projektu SQL

Rozpocznij projekt, tworząc nowy projekt bazy danych SQL przed zaimportowaniem do niego obiektów.

Wybierz PlikNowy, a następnie Project.

W oknie dialogowym Nowy Project użyj terminu SQL Server w polu wyszukiwania. Najlepszym wynikiem jest SQL Server Database Project.

Zrzut ekranu przedstawiający okno dialogowe Nowy projekt.

Wybierz pozycję Dalej, aby przejść do następnego kroku. Wprowadź nazwę projektu, która nie musi być zgodna z nazwą bazy danych. Zweryfikuj i zmodyfikuj lokalizację projektu zgodnie z potrzebami.

Wybierz pozycję Utwórz, aby utworzyć projekt. Pusty projekt zostanie otwarty i będzie widoczny w Solution Explorer do edycji.

Wybierz PlikNowy, a następnie Project.

W oknie dialogowym Nowy Project użyj terminu SQL Server w polu wyszukiwania. Najlepszym wynikiem jest SQL Server Database Project, SDK-style (wersja zapoznawcza).

Zrzut ekranu przedstawiający okno dialogowe Nowy projekt.

Wybierz pozycję Dalej, aby przejść do następnego kroku. Wprowadź nazwę projektu, która nie musi być zgodna z nazwą bazy danych. Zweryfikuj i zmodyfikuj lokalizację projektu zgodnie z potrzebami.

Wybierz pozycję Utwórz, aby utworzyć projekt. Pusty projekt zostanie otwarty i będzie widoczny w Solution Explorer do edycji.

W widoku Database Projects Visual Studio Code wybierz przycisk Nowy projekt.

zrzut ekranu przedstawiający nowy widok.

Pierwszy monit określa, który szablon projektu ma być używany, głównie na podstawie tego, czy platforma docelowa jest SQL Server, czy Azure SQL. Jeśli zostanie wyświetlony monit o wybranie określonej wersji programu SQL, wybierz wersję zgodną z docelową bazą danych. Jeśli nie znasz docelowej wersji bazy danych, wybierz najnowszą wersję, ponieważ można później zmodyfikować wartość.

Wprowadź nazwę projektu w wyświetlonym tekście, który nie musi być zgodny z nazwą bazy danych.

W wyświetlonym oknie dialogowym Wybieranie folderu wybierz katalog folderu, .sqlproj pliku i innej zawartości projektu, w którym ma się znajdować.

Po wyświetleniu monitu o utworzenie projektu w stylu zestawu SDK wybierz pozycję Tak.

Po zakończeniu pusty projekt zostanie otwarty i będzie widoczny w widoku Projekty bazy danych do edycji.

Wybierz PlikNowy, a następnie Project.

W oknie dialogowym Nowy Project wybierz pozycję SQL Database Project.

Zrzut ekranu przedstawiający okno dialogowe Nowy projekt.

Wybierz pozycję Dalej, aby przejść do następnego kroku. Wprowadź nazwę projektu, która nie musi być zgodna z nazwą bazy danych. Zweryfikuj i zmodyfikuj lokalizację projektu zgodnie z potrzebami.

Wybierz pozycję Utwórz, aby utworzyć projekt. Pusty projekt zostanie otwarty i będzie widoczny w Solution Explorer do edycji.

Podczas instalacji szablonów .NET dla projektów Microsoft.Build.Sql możesz utworzyć nowy projekt bazy danych SQL z poziomu wiersza polecenia. Opcja -n określa nazwę projektu, a opcja -tp określa platformę docelową projektu.

Użyj opcji -h, aby wyświetlić wszystkie dostępne opcje.

# create a new SQL database project
dotnet new sqlproj -n MyDatabaseProject

Krok 2. Importowanie obiektów z istniejącej bazy danych

W Solution Explorer kliknij prawym przyciskiem myszy węzeł projektu i wybierz pozycję Importuj -> Database... . Jeśli ta opcja jest wyłączona, projekt bazy danych może zawierać obiekty utworzone w nim. Możesz usunąć obiekty lub utworzyć nowy projekt.

W oknie dialogowym Importuj bazę danych wybierz połączenie z bazą danych, z której chcesz zaimportować obiekty. Jeśli nawiązaliśmy połączenie z bazą danych w SQL Server Object Explorer, zostanie ona wyświetlona na liście history.

Zrzut ekranu okna dialogowego Importowanie bazy danych w Visual Studio.

Domyślne ustawienia importu importują obiekty do folderów najpierw według schematu, a następnie według typu obiektu. Możesz zmodyfikować ustawienia importu, aby zmienić strukturę folderów lub uwzględnić uprawnienia do importowanych obiektów. Rozpocznij import.

Podczas importowania postęp jest wyświetlany w formie komunikatów w oknie dialogowym Importowanie bazy danych. Po zakończeniu importowania zaimportowane obiekty są widoczne w Solution Explorer a dzienniki są przechowywane w pliku w katalogu projektu w Import Schema Logs. Wybierz Zakończ, aby powrócić do projektu.

Użyj interfejsu wiersza polecenia sqlPackage, aby zaimportować obiekty z istniejącej bazy danych do nowego projektu bazy danych SQL utworzonego w Visual Studio w kroku 1. Następujące polecenie SqlPackage importuje schemat bazy danych do folderu MyDatabaseProject, zorganizowanego według zagnieżdżonych folderów zgodnie ze schematem i typem obiektu.

sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SchemaObjectType

W przypadku umieszczania tych folderów w folderze projektu bazy danych SQL w stylu zestawu SDK są one automatycznie dołączane do projektu bez konieczności importowania ich lub modyfikowania pliku projektu SQL.

W rozszerzeniu SQL Database Projects w Visual Studio Code otwórz widok Database Projects. Kliknij prawym przyciskiem myszy węzeł projektu i wybierz pozycję Aktualizuj projekt z bazy danych.

Zrzut ekranu okna dialogowego Aktualizacja bazy danych w Visual Studio Code.

W oknie dialogowym Update Database wybierz połączenie z bazą danych, z której chcesz zaimportować obiekty. Jeśli połączono się z bazą danych w widoku Połączenia , zostanie ona wyświetlona na liście historii .

Wybierz pozycję Wyświetl zmiany w schemacie compare, aby przejrzeć i wybrać podzbiór obiektów do zaimportowania lub Zastosuj wszystkie zmiany, aby zaimportować wszystkie obiekty.

W Solution Explorer kliknij prawym przyciskiem myszy węzeł projektu i wybierz pozycję Importuj z bazy danych... .

W oknie dialogowym Importuj bazę danych wybierz połączenie z bazą danych, z której chcesz zaimportować obiekty.

Zrzut ekranu przedstawiający okno dialogowe Importowanie bazy danych w programie SSMS.

Domyślne ustawienia importu importują wszystkie obiekty z bazy danych do projektu i rozmieszczają je w folderach według schematu i typu obiektu, ale anuluj importowanie, jeśli jakiekolwiek obiekty w projekcie zostaną zastąpione. Importowanie można zmodyfikować, aby zaktualizować projekt za pomocą obiektów z bazy danych, wybierając pozycję Zastąp istniejące obiekty w projekcie. Wybierz pozycję Importuj , aby rozpocząć importowanie.

Po zakończeniu importowania Solution Explorer zostanie zaktualizowany o zaimportowane obiekty.

Użyj narzędzia wiersza poleceń SqlPackage, aby wyodrębnić schemat istniejącej bazy danych do pliku .dacpac lub do poszczególnych plików .sql. Następujące polecenie SqlPackage wyodrębnia schemat bazy danych do .sql plików zorganizowanych przez zagnieżdżone foldery schematu i typu obiektu.

sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SchemaObjectType

W przypadku umieszczania tych folderów w folderze projektu bazy danych SQL w stylu zestawu SDK są one automatycznie dołączane do projektu bez konieczności importowania ich lub modyfikowania pliku projektu SQL.

Krok 3. Kompilowanie projektu SQL

Proces kompilacji weryfikuje relacje między obiektami i składnią względem platformy docelowej określonej w pliku projektu. Dane wyjściowe artefaktu z procesu kompilacji to .dacpac plik, którego można użyć do wdrożenia projektu w docelowej bazie danych. Ten plik zawiera skompilowany model schematu bazy danych.

W Solution Explorer kliknij prawym przyciskiem myszy węzeł projektu i wybierz pozycję Build.

Zostanie automatycznie otwarte okno danych wyjściowych w celu wyświetlenia procesu kompilacji. Jeśli występują błędy lub ostrzeżenia, zostaną one wyświetlone w oknie wyników. W przypadku pomyślnej kompilacji tworzony jest artefakt kompilacji (.dacpac plik), a jego lokalizacja jest uwzględniona w danych wyjściowych kompilacji (wartość domyślna to bin\Debug\projectname.dacpac).

W Solution Explorer kliknij prawym przyciskiem myszy węzeł projektu i wybierz pozycję Build.

Zostanie automatycznie otwarte okno danych wyjściowych w celu wyświetlenia procesu kompilacji. Jeśli występują błędy lub ostrzeżenia, zostaną one wyświetlone w oknie wyników. W przypadku pomyślnej kompilacji tworzony jest artefakt kompilacji (.dacpac plik), a jego lokalizacja jest uwzględniona w danych wyjściowych kompilacji (wartość domyślna to bin\Debug\projectname.dacpac).

W widoku Database Projects Visual Studio Code kliknij prawym przyciskiem myszy węzeł projektu i wybierz pozycję Build.

Zostanie automatycznie otwarte okno danych wyjściowych w celu wyświetlenia procesu kompilacji. Jeśli występują błędy lub ostrzeżenia, zostaną one wyświetlone w oknie wyników. W przypadku pomyślnej kompilacji tworzony jest artefakt kompilacji (.dacpac plik), a jego lokalizacja jest uwzględniona w danych wyjściowych kompilacji (wartość domyślna to bin/Debug/projectname.dacpac).

W Solution Explorer kliknij prawym przyciskiem myszy węzeł projektu i wybierz pozycję Build.

Zrzut ekranu przedstawiający Solution Explorer w SQL Server Management Studio z opcją Kompilacja dostępną.

Zostanie automatycznie otwarte okno danych wyjściowych w celu wyświetlenia procesu kompilacji. Jeśli występują błędy lub ostrzeżenia, zostaną one wyświetlone w oknie wyników. W przypadku pomyślnej kompilacji tworzony jest artefakt kompilacji (.dacpac plik), a jego lokalizacja jest uwzględniona w danych wyjściowych kompilacji (wartość domyślna to bin\Debug\projectname.dacpac).

Projekty bazy danych SQL można tworzyć z poziomu wiersza polecenia przy użyciu dotnet build polecenia .

dotnet build

# optionally specify the project file
dotnet build MyDatabaseProject.sqlproj

Dane wyjściowe kompilacji zawierają błędy lub ostrzeżenia oraz określone pliki i numery wierszy, w których występują. W przypadku pomyślnej kompilacji tworzony jest artefakt kompilacji (.dacpac plik), a jego lokalizacja jest uwzględniona w danych wyjściowych kompilacji (wartość domyślna to bin/Debug/projectname.dacpac).