Dela via


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 Azure Data Studio och 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 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.

SQL Database Projects-tillägget är ett tillägg för Azure Data Studio (ADS) och 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.

Jämförelse av funktionsuppsättning

Egenskap SDK-stil SSDT SSDT ANNONSER VS Code
Skapa nytt tomt projekt X X X X
Skapa ett nytt projekt från en befintlig databas X X X
Öppna befintliga Microsoft.Build.Sql-projekt X X X
Lösningshantering och -åtgärder X X
Projektkörningsversion X X X X
Publicera projektet till en befintlig server X X X X
Publicera projektet till en lokal utvecklingsinstans X1 X1 X2 X2
Publicera alternativ/egenskaper X X X
Målplattformen kan uppdateras X X X X
SQLCMD-variabler X X X X
Projektreferenser X X
Dacpac-referenser X X X
Paketreferenser X
Skapa publiceringsprofil X X X
SQL-filer kan läggas till genom att placeras i projektmappen X X X
SQL-filer kan undantas från bygget X X
Distributionsskript före/efter distribution X X X X
Nya objektmallar X3 X X3 X3
Projektfiler kan ordnas i mappar X X X X
Schemajämförelseprojekt med databas X X
Schemajämförelsedatabas till projekt X X
Grafisk tabelldesigner X X
Kodanalys – aktivera/inaktivera regler X
Projektegenskaper – skapa utdatainställningar X X
Projektegenskaper – standardschema X
Projektegenskaper – databasinställningar X
Fristående projektkörningsanalys av kod X
Objektbyte och refaktorisering X
Intellisense tillhandahålls i databasfiler från projektmodellen X
Anslutning/visningsobjekt för SQL Server-objektutforskaren X X X X
Snabbmenyobjekt för SQL Server-objektutforskaren X X X
SQL Server-frågeredigerarens anslutning X X X
  1. Lokal utvecklingsinstans är en SQL Server LocalDB-instans.
  2. Den lokala utvecklingsinstansen är en SQL Server-container.
  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: