SQL-projektverktyg

Verktyg för SQL-projekt finns i flera utvecklingsmiljöer och kommandoradsgränssnitt. De primära verktygen för SQL-projekt är kommandoradsverktyget SqlPackage , SQL Server Data Tools (SSDT) i Visual Studio och SQL Database Projects-tillägget för Visual Studio Code.

Verktyg som ingår i den här artikeln:

Grafiska verktyg

Dessa verktyg tillhandahåller ett grafiskt gränssnitt för SQL-projekt, en T-SQL-redigerare och en bygg- och publiceringsprocess.

SQL Database Projects-tillägget är ett tillägg för VS Code. Det här tillägget innehåller ett grafiskt gränssnitt för SQL-projekt, en T-SQL-redigerare och en bygg- och publiceringsprocess. Tillägget är också tillgängligt i Azure Data Studio med samma funktioner.

SQL Server Data Tools (SSDT) är en Visual Studio-komponent som tillhandahåller ett grafiskt gränssnitt för SQL-projekt. SSDT tillhandahåller en visuell designer för tabeller, en T-SQL-redigerare och en bygg- och publiceringsprocess.

Jämförelse av funktionsuppsättning

Egenskap VS Code SSDT (VS2022-2026) SDK-stil SSDT, förhandsversion (VS2022)
Skapa nytt tomt projekt Yes Yes Yes
Skapa ett nytt projekt från en befintlig databas Yes Yes Yes
Öppna befintliga Microsoft.Build.Sql-projekt Yes Nej Yes
Lösningshantering och -åtgärder Nej Yes Yes
Projektkörningsversion Yes Yes Yes
Publicera projektet till en befintlig server Yes Yes Yes
Publicera projektet till en lokal utvecklingsinstans Ja1 Ja2 Ja2
Publicera alternativ/egenskaper Yes Yes Yes
Målplattformen kan uppdateras Yes Yes Yes
SQLCMD-variabler Yes Yes Yes
Projektreferenser Yes Yes Yes
Dacpac-referenser Yes Yes Yes
Paketreferenser Yes Nej Nej
Skapa publiceringsprofil Yes Yes Yes
SQL-filer kan läggas till genom att placeras i projektmappen Yes Nej Yes
SQL-filer kan undantas från bygget Yes Yes Nej
Distributionsskript före/efter distribution Yes Yes Yes
Nya objektmallar Ja3 Yes Ja3
Projektfiler kan ordnas i mappar Yes Yes Yes
Schemajämförelseprojekt med databas Yes Yes Yes
Schemajämförelsedatabas till projekt Yes Yes Nej
Grafisk tabelldesigner Nej Yes Yes
Kodanalys – aktivera/inaktivera regler GUI Nej Yes Nej
Projektegenskaper – skapa utdatainställningar Nej Yes Yes
Projektegenskaper – gui för databasinställningar Nej Yes Nej
Körning av projektkodanalys Yes Yes Nej
Objektbyte och refaktorisering Nej Yes Nej
Intellisense tillhandahålls i databasfiler från projektmodellen Nej Yes Nej
  1. Den lokala utvecklingsinstansen är en SQL Server-container.
  2. Lokal utvecklingsinstans är en SQL Server LocalDB-instans.
  3. Begränsad delmängd av tillgängliga mallar

Kommandoradsverktyg

SqlPackage är det primära kommandoradsverktyget för DacFx-biblioteket, vilket möjliggör automatisering av databasutvecklingsuppgifter som att distribuera en .dacpac till en databas eller extrahera objekten i en databas till ett SQL-projekt eller .dacpac.

Anpassade konsolprogram kan skapas med hjälp av DacFx .NET-biblioteket för att automatisera databasutvecklingsuppgifter. Namnområdet Microsoft.SqlServer.Dac innehåller klasser för att skapa, distribuera och extrahera databasobjekt och är grundläggande för resten av DacFx-biblioteket.

CI/CD-pipelinesystem kan skapas med kommandoradskörning eller med uppgifter som är specifika för utrullningen av .dacpac SQL-projekt. GitHub sql-action och SqlAzureDacpacDeployment i Azure DevOps är exempel på uppgifter som använder SqlPackage under ett hanteringslager för att underlätta distributionen av databasändringar.

Konverteringsverktyg

Processen med att konvertera ett befintligt SQL-projekt till ett SDK-projekt görs genom att filen redigeras .sqlproj manuellt för att inkludera det nya SDK-formatet. Innan du påbörjar processen rekommenderar vi att du både säkerhetskopierar projektfilen och arkiverar en .dacpac av projektet. Genom att jämföra ett "före" och "efter" som skapats .dacpac från projektet kan du se till att konverteringsprocessen har slutförts korrekt.

Projekt-/lösningshantering

Flera SQL-projekt (och andra projekt) kan grupperas logiskt i en lösningsfil. Lösningsfilen är en container för ett eller flera projekt och används för att hantera projekten som en grupp, inklusive byggåtgärden. Stora lösningar kan delas upp i mindre lösningar för att förbättra prestanda och hanterbarhet, eller dynamiskt genereras för lämplig uppgift. Slngen-lösningsfilgeneratorn är tillgänglig för Microsoft.Build.Sql-projekt och kan användas för att skapa en lösningsfil för en uppsättning projekt programmatiskt och på begäran.

Verktyg från tredje part

Det finns verktyg från tredje part som tillhandahåller funktioner som rör SQL-projekt och databasdistribution. Vissa verktyg är öppen källkod, till exempel dbatools.

Utvecklare har delat sina projekt med utökningspunkter runt SQL-projekt, inklusive regler för kodanalys och anpassning av distributionsplaner. Några av dessa projekt är: