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 tillägget SQL Database Projects 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 Transact-SQL (T-SQL) redigerare och en bygg- och publiceringsprocess.

SQL Database Projects-tillägget är ett tillägg för Visual Studio 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.

Database DevOps i SQL Server Management Studio (SSMS) 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.

Jämförelse av funktionsuppsättning

Egenskap Visual Studio Code SSMS SSDT (VS2022-2026) SDK-stil SSDT (förhandsversion) (VS2022)
Skapa nytt tomt projekt Yes Yes Yes Yes
Skapa ett nytt projekt från en befintlig databas Yes Yes Yes Yes
Öppna befintliga Microsoft. Build.Sql-projekt Yes Yes Nej Yes
Öppna SSDT-projekt i originalstil Yes Nej Yes Nej
Lösningshantering och -åtgärder Nej Yes Yes Yes
Kör projektbygg Yes Yes Yes Yes
Publicera projektet till en befintlig server Yes Yes Yes Yes
Publicera projektet till en lokal utvecklingsinstans Ja1 Ja2 Ja3 Ja3
Publicera alternativ/egenskaper Yes Yes Yes Yes
Målplattformen kan uppdateras Yes Yes Yes Yes
SQLCMD-variabler Yes Yes Yes Yes
Projektberoenden Yes Yes Yes Yes
DACPAC-referenser Yes Yes Yes Yes
Paketreferenser Yes Yes Nej Nej
Skapa publiceringsprofil Yes Nej Yes Yes
SQL-filer kan läggas till genom att placeras i projektmappen Yes Yes Nej Yes
SQL-filer kan undantas från bygget Yes Yes Yes Nej
Skript före distribution och efter distribution Yes Yes Yes Yes
Nya objektmallar Ja4 Yes Yes Ja4
Project filer kan ordnas i mappar Yes Yes Yes Yes
Schemajämförelseprojekt med databas Yes Nej Yes Yes
Schemajämförelsedatabas till projekt Yes Nej Yes Nej
Grafisk tabelldesigner Nej Nej Yes Yes
Kodanalys – aktivera/inaktivera regler GUI Yes Yes Yes Nej
Project egenskaper – skapa utdatainställningar Nej Nej Yes Yes
Projekt Egenskaper – GUI för databasinställningar Nej Nej Yes Nej
Kör projekt code-analys Yes Yes Yes Nej
Objektbyte och refaktorisering Nej Nej Yes Nej
Intellisense tillhandahålls i databasfiler från projektmodellen Nej Nej Yes Nej

1 Lokal utvecklingsinstans är en SQL Server container.
2 Alla förinstallerade Microsoft SQL-databas kan användas som en lokal utvecklingsinstans.
3 Lokal utvecklingsinstans är en SQL Server LocalDB-instans.
4 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. 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- och 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. Filgeneratorn slngen solution ä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.

Roadmap

En kvartalsöversikt för SQL-projektrelaterade funktioner finns på https://aka.ms/sqlprojects-roadmap. Kundfeedback påverkar i hög grad färdplanen, som omfattar både modernisering av funktionerna i Microsoft. Build.Sql-projekt och förbättringar av verktygsytorna som är associerade med SQL-projekt.

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 open-source, 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: