Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Narzędzia dla projektów SQL są dostępne w kilku środowiskach deweloperskich i interfejsach wiersza polecenia. Podstawowe narzędzia dla projektów SQL to SqlPackage narzędzie wiersza polecenia SQL Server Data Tools (SSDT) w Visual Studio oraz rozszerzenie SQL Database Projects dla Visual Studio Code.
Narzędzia zawarte w tym artykule:
Narzędzia graficzne
Te narzędzia udostępniają interfejs graficzny dla projektów SQL, edytora Transact-SQL (T-SQL) oraz procesu kompilacji i publikowania.
SQL Database Projects to rozszerzenie dla Visual Studio Code. To rozszerzenie udostępnia interfejs graficzny dla projektów SQL, edytor języka T-SQL oraz proces kompilacji i publikowania.
Database DevOps w SQL Server Management Studio (SSMS) udostępnia interfejs graficzny dla projektów SQL, edytora języka T-SQL oraz procesu kompilacji i publikowania.
SQL Server Data Tools (SSDT) to składnik Visual Studio który udostępnia interfejs graficzny dla projektów SQL. Narzędzie SSDT udostępnia projektanta wizualnego dla tabel, edytora języka T-SQL oraz procesu kompilacji i publikowania.
Porównanie zestawu funkcji
| Funkcja | Visual Studio Code | SSMS | SSDT (VS2022-2026) | SSDT w stylu SDK (wersja zapoznawcza) (VS2022) |
|---|---|---|---|---|
| Tworzenie nowego pustego projektu | Tak | Tak | Tak | Tak |
| Tworzenie nowego projektu z istniejącej bazy danych | Tak | Tak | Tak | Tak |
| Otwórz istniejący projekt Microsoft.Build.Sql | Tak | Tak | Nie. | Tak |
| Otwórz projekty w oryginalnym stylu (SSDT) | Tak | Nie. | Tak | Nie. |
| Zarządzanie rozwiązaniami i operacje | Nie. | Tak | Tak | Tak |
| Projekt uruchomienie build | Tak | Tak | Tak | Tak |
| Publikowanie projektu na istniejącym serwerze | Tak | Tak | Tak | Tak |
| Publikowanie projektu w lokalnej instancji deweloperskiej | Tak1 | Tak2 | Tak3 | Tak3 |
| Opcje/właściwości publikowania | Tak | Tak | Tak | Tak |
| Platformę docelową można zaktualizować | Tak | Tak | Tak | Tak |
| Zmienne SQLCMD | Tak | Tak | Tak | Tak |
| Referencje projektu | Tak | Tak | Tak | Tak |
| Odwołania do DACPAC | Tak | Tak | Tak | Tak |
| Odwołania do pakietów | Tak | Tak | Nie. | Nie. |
| Publikowanie tworzenia profilu | Tak | Nie. | Tak | Tak |
| Pliki SQL można dodawać, umieszczając je w folderze projektu | Tak | Tak | Nie. | Tak |
| Pliki SQL można wykluczyć z kompilacji | Tak | Tak | Tak | Nie. |
| Skrypty przed wdrożeniem i po wdrożeniu | Tak | Tak | Tak | Tak |
| Nowe szablony obiektów | Tak4 | Tak | Tak | Tak4 |
| Pliki projektu można organizować w foldery | Tak | Tak | Tak | Tak |
| Projekt porównania schematu z bazą danych | Tak | Nie. | Tak | Tak |
| Baza danych porównania schematów do projektu | Tak | Nie. | Tak | Nie. |
| Graficzny projektant tabel | Nie. | Nie. | Tak | Tak |
| Analiza kodu — włączanie/wyłączanie graficznego interfejsu użytkownika reguł | Tak | Tak | Tak | Nie. |
| Właściwości projektu: ustawienia danych wyjściowych kompilacji | Nie. | Nie. | Tak | Tak |
| Właściwości projektu - interfejs graficzny ustawień bazy danych | Nie. | Nie. | Tak | Nie. |
| Uruchom analizę kodu | Tak | Tak | Tak | Nie. |
| Zmiana nazwy obiektu i refaktoryzacja | Nie. | Nie. | Tak | Nie. |
| Funkcja IntelliSense udostępniana w plikach bazy danych pochodzących z modelu projektu | Nie. | Nie. | Tak | Nie. |
1 Instancja lokalna rozwojowa jest kontenerem SQL Server.
2 Wszystkie wstępnie zainstalowane Microsoft bazy danych SQL mogą być używane jako lokalne wystąpienie programistyczne.
3 Lokalne wystąpienie deweloperskie to wystąpienie SQL Server LocalDB.
4 Ograniczony podzbiór dostępnych szablonów.
Narzędzia wiersza polecenia
SqlPackage to podstawowe narzędzie wiersza polecenia dla biblioteki DacFx, które umożliwia automatyzację zadań tworzenia bazy danych, takich jak wdrażanie .dacpac elementu w bazie danych lub wyodrębnianie obiektów bazy danych do projektu SQL lub .dacpac.
Niestandardowe aplikacje konsolowe można tworzyć przy użyciu biblioteki DacFx .NET w celu zautomatyzowania zadań tworzenia bazy danych. Microsoft.SqlServer.Dac przestrzeń nazw zawiera klasy do tworzenia, wdrażania i wyodrębniania obiektów bazy danych i jest podstawą pozostałej części biblioteki DacFx.
Kanały CI/CD można budować za pomocą poleceń wiersza lub zadań specyficznych dla .dacpac oraz do wdrażania projektów SQL.
GitHub sql-action i SqlAzureDacpacDeployment w Azure DevOps są przykładami zadań, które używają pakietu SqlPackage poniżej warstwy zarządzania w celu ułatwienia wdrażania zmian bazy danych.
Narzędzia konwersji
Proces konwertowania istniejącego projektu SQL na projekt w stylu zestawu SDK odbywa się przez ręczne edytowanie pliku w .sqlproj celu uwzględnienia nowego formatu projektu w stylu zestawu SDK. Przed rozpoczęciem procesu zaleca się zarówno utworzenie kopii zapasowej pliku projektu, jak i zarchiwizowanie .dacpac projektu. Porównując "przed" i "po" .dacpac skompilowany z projektu, możesz upewnić się, że proces konwersji został poprawnie ukończony.
Zarządzanie projektem/rozwiązaniem
Wiele projektów SQL (i innych projektów) może być logicznie zgrupowanych w pliku rozwiązania. Plik rozwiązania jest kontenerem dla co najmniej jednego projektu i służy do grupowego zarządzania projektami, w tym procesem kompilacji. Duże rozwiązania można podzielić na mniejsze w celu zwiększenia wydajności i możliwości zarządzania lub mogą być dynamicznie generowane dla odpowiedniego zadania. Generator plików rozwiązania slngen jest dostępny dla projektów Microsoft.Build.Sql i może służyć do tworzenia pliku rozwiązania dla zestawu projektów programowo i na żądanie.
Roadmap
Kwartalny plan działania dotyczący możliwości związanych z projektami SQL jest dostępny na stronie https://aka.ms/sqlprojects-roadmap. Opinie klientów mają duży wpływ na mapę drogową, która obejmuje zarówno modernizację możliwości projektów Microsoft.Build.Sql, jak i ulepszenia narzędzi związanych z projektami SQL.
Narzędzia innych firm
Dostępne są narzędzia innych firm, które zapewniają funkcje związane z projektami SQL i wdrażaniem bazy danych. Niektóre narzędzia są open source, takie jak dbatools.
Deweloperzy udostępnili swoje projekty korzystające z punktów rozszerzalności wokół projektów SQL, w tym reguł analizy kodu i dostosowywania planów wdrażania. Niektóre z tych projektów to:
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/ErikEJ/SqlServer.Rules
- https://github.com/GoEddie/DeploymentContributorFilterer