Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              Gäller för: SQL Server 2022 (16.x) och senare versioner 
Azure SQL Database
Azure SQL Managed Instance
SQL Database i Microsoft Fabric
Ett SQL-databasprojekt är en lokal representation av SQL-objekt som utgör schemat för en enskild databas, till exempel tabeller, lagrade procedurer eller funktioner. Utvecklingscykeln för ett SQL-databasprojekt gör det möjligt att integrera databasutveckling i ett CI/CD-arbetsflöde (kontinuerlig integrering och kontinuerlig distribution) som är bekant som en metod för utveckling.
Den här artikeln beskriver hur du skapar ett nytt SQL-projekt, lägger till objekt i projektet och skapar och distribuerar projektet. Förutom visual studioinstruktionerna (SQL Server Data Tools) fokuserar guiden på SQL-projekt i SDK-stil.
Förutsättningar
# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage
# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates
Anmärkning
För att slutföra distributionen av ett SQL-databasprojekt behöver du åtkomst till en Azure SQL- eller SQL Server-instans. Du kan utveckla lokalt kostnadsfritt med SQL Server Developer Edition i Windows eller i containrar.
Steg 1: Skapa ett nytt projekt
Vi startar vårt projekt genom att skapa ett nytt SQL-databasprojekt innan vi lägger till objekt i det manuellt. Det finns andra sätt att skapa ett projekt som gör det möjligt att omedelbart fylla projektet med objekt från en befintlig databas, till exempel att använda schemajämförelseverktyg.
Välj File, Newoch sedan Project.
I dialogrutan Nytt projekt använder du termen SQL Server- i sökrutan. Det översta resultatet bör vara SQL Server Database Project.
Välj Nästa för att gå vidare till nästa steg. Ange ett projektnamn som inte behöver matcha ett databasnamn. Verifiera och ändra projektplatsen efter behov.
Välj Skapa för att skapa projektet. Det tomma projektet öppnas och visas i Solution Explorer för redigering.
Välj File, Newoch sedan Project.
I dialogrutan Nytt projekt använder du termen SQL Server- i sökrutan. Det översta resultatet ska vara SQL Server Database Project, SDK-format (förhandsversion).
Välj Nästa för att gå vidare till nästa steg. Ange ett projektnamn som inte behöver matcha ett databasnamn. Verifiera och ändra projektplatsen efter behov.
Välj Skapa för att skapa projektet. Det tomma projektet öppnas och visas i Solution Explorer för redigering.
I Database Projects vy över VS Code eller Azure Data Studio väljer du knappen Nytt projekt.
              
               
              
              
            
Den första prompten avgör vilken projektmall som ska användas, främst baserat på om målplattformen är SQL Server eller Azure SQL. Om du uppmanas att välja en specifik version av SQL väljer du den version som matchar måldatabasen, men om måldatabasversionen är okänd väljer du den senaste versionen eftersom värdet kan ändras senare.
Ange ett projektnamn i textinmatningen som visas, som inte behöver matcha ett databasnamn.
I dialogrutan "Välj en mapp" som visas väljer du en katalog för projektets mapp, .sqlproj fil och annat innehåll som ska finnas i.
När du tillfrågas om du vill skapa ett SDK-projekt väljer du Ja.
När det är klart öppnas det tomma projektet och visas i vyn Database Projects för redigering.
Med .NET-mallarna för Microsoft.Build.Sql-projekt installerade kan du skapa ett nytt SQL-databasprojekt från kommandoraden. Alternativet -n anger namnet på projektet och alternativet -tp anger projektmålplattformen.
Använd alternativet -h för att se alla tillgängliga alternativ.
# install Microsoft.Build.Sql.Templates
dotnet new sqlproj -n MyDatabaseProject
Steg 2: Lägga till objekt i projektet
I Solution Explorerhögerklickar du på projektnoden och väljer Lägg tilloch sedan Tabell. Dialogrutan Lägg till nytt objekt visas, där du kan ange tabellnamnet. Välj Lägg till för att skapa tabellen i SQL-projektet.
Tabellen öppnas i Visual Studio-tabelldesignern med malltabelldefinitionen, där du kan lägga till kolumner, index och andra tabellegenskaper. Spara filen när du är klar med de första redigeringarna.
Fler databasobjekt kan läggas till via dialogrutan Lägg till nytt objekt, till exempel vyer, lagrade procedurer och funktioner. Öppna dialogrutan genom att högerklicka på projektnoden i Solution Explorer och välja Lägg tilloch sedan önskad objekttyp. Filer i projektet kan ordnas i mappar via alternativet Ny mapp under Lägg till.
I Solution Explorerhögerklickar du på projektnoden och väljer Lägg tilloch sedan Nytt objekt. Dialogrutan Lägg till nytt objekt visas, välj Visa alla mallar och sedan tabell. Ange tabellnamnet som filnamn och välj Lägg till för att skapa tabellen i SQL-projektet.
Tabellen öppnas i Visual Studio-frågeredigeraren med malltabelldefinitionen, där du kan lägga till kolumner, index och andra tabellegenskaper. Spara filen när du är klar med de första redigeringarna.
Fler databasobjekt kan läggas till via dialogrutan Lägg till nytt objekt, till exempel vyer, lagrade procedurer och funktioner. Öppna dialogrutan genom att högerklicka på projektnoden i Solution Explorer och välja Lägg tilloch sedan önskad objekttyp efter Visa alla mallar. Filer i projektet kan ordnas i mappar via alternativet Ny mapp under Lägg till.
Högerklicka på projektnoden i Database Projects vy över VS Code eller Azure Data Studio och välj Lägg till tabell. I dialogrutan som visas anger du tabellnamnet.
Tabellen öppnas i textredigeraren med malltabelldefinitionen, där du kan lägga till kolumner, index och andra tabellegenskaper. Spara filen när du är klar med de första redigeringarna.
Fler databasobjekt kan läggas till via snabbmenyn på projektnoden, till exempel vyer, lagrade procedurer och funktioner. Öppna dialogrutan genom att högerklicka på projektnoden i Database Projects vy över VS Code eller Azure Data Studio och sedan önskad objekttyp. Filer i projektet kan ordnas i mappar via alternativet Ny mapp under Lägg till.
Filer kan läggas till i projektet genom att skapa dem i projektkatalogen eller kapslade mappar. Filtillägget ska vara .sql och organisation efter objekttyp eller schema och objekttyp rekommenderas.
Basmallen för en tabell kan användas som utgångspunkt för att skapa ett nytt tabellobjekt i projektet:
CREATE TABLE [dbo].[Table1]
(
    [Id] INT NOT NULL PRIMARY KEY
);
Steg 3: Skapa projektet
Byggprocessen validerar relationerna mellan objekt och syntaxen mot målplattformen som anges i projektfilen. Artefaktutdata från byggprocessen är en .dacpac fil som kan användas för att distribuera projektet till en måldatabas och som innehåller den kompilerade modellen för databasschemat.
Högerklicka på projektnoden i Solution Exploreroch välj Build.
Utdatafönstret öppnas automatiskt för att visa byggprocessen. Om det finns fel eller varningar visas de i utdatafönstret. I en lyckad version skapas byggartefakten (.dacpac-filen) dess plats ingår i byggutdata (standardvärdet är bin\Debug\projectname.dacpac).
Högerklicka på projektnoden i Solution Exploreroch välj Build.
Utdatafönstret öppnas automatiskt för att visa byggprocessen. Om det finns fel eller varningar visas de i utdatafönstret. I en lyckad version skapas byggartefakten (.dacpac-filen) dess plats ingår i byggutdata (standardvärdet är bin\Debug\projectname.dacpac).
I Database Projects vy över VS Code eller Azure Data Studio högerklickar du på projektnoden och väljer Skapa.
Utdatafönstret öppnas automatiskt för att visa byggprocessen. Om det finns fel eller varningar visas de i utdatafönstret. I en lyckad version skapas byggartefakten (.dacpac-filen) dess plats ingår i byggutdata (standardvärdet är bin/Debug/projectname.dacpac).
SQL-databasprojekt kan skapas från kommandoraden med hjälp av kommandot dotnet build.
dotnet build
# optionally specify the project file
dotnet build MyDatabaseProject.sqlproj
Byggutdata innehåller eventuella fel eller varningar och de specifika filer och radnummer där de inträffar. I en lyckad version skapas byggartefakten (.dacpac-filen) dess plats ingår i byggutdata (standardvärdet är bin/Debug/projectname.dacpac).
Steg 4: Distribuera projektet
Den kompilerade modellen för ett databasschema i en .dacpac fil kan distribueras till en måldatabas med hjälp av kommandoradsverktyget SqlPackage eller andra distributionsverktyg. Distributionsprocessen bestämmer vilka steg som krävs för att uppdatera måldatabasen så att den matchar schemat som definierats i .dacpacoch skapar eller ändrar objekt efter behov baserat på de objekt som redan finns i databasen. Därför är distributionsprocessen idempotent, vilket innebär att den kan köras flera gånger utan att orsaka problem och du kan distribuera samma .dacpac till flera databaser utan att behöva fastställa deras status på förhand.
Högerklicka på projektnoden i Solution Exploreroch välj Publicera....
Publiceringsdialogrutan öppnas där du upprättar måldatabasanslutning. Om du inte har någon befintlig SQL-instans för distribution installeras LocalDB ((localdb)\MSSQLLocalDB) med Visual Studio och kan användas för testning och utveckling.
Ange ett databasnamn och välj Publicera för att distribuera projektet till måldatabasen eller Generera skript för att generera ett skript som ska granskas innan det körs.
Högerklicka på projektnoden i Solution Exploreroch välj Publicera....
Publiceringsdialogrutan öppnas där du upprättar måldatabasanslutning. Om du inte har någon befintlig SQL-instans för distribution installeras LocalDB ((localdb)\MSSQLLocalDB) med Visual Studio och kan användas för testning och utveckling.
Ange ett databasnamn och välj Publicera för att distribuera projektet till måldatabasen eller Generera skript för att generera ett skript som ska granskas innan det körs.
I vyn Databasprojekt i VS Code eller Azure Data Studio högerklickar du på projektnoden och väljer Publicera.
Tips/Råd
Om du inte har någon tillgänglig SQL-instans för distribution kan SQL Database Projects-tillägget skapa en lokal SQL Server-instans åt dig i en ny container. Med en containerkörning som Docker Desktop igång väljer du Publicera till en ny lokal SQL Server-utvecklingscontainer i listrutan.
Om du har en befintlig SQL-instans för distribution väljer du Publicera till en befintlig SQL-server och sedan Använd inte profil om du uppmanas att publicera profilen.
Om du inte har konfigurerat en anslutning till en måldatabas uppmanas du att skapa en ny anslutning. De nya anslutningsindata frågar efter servernamn, autentiseringsmetod och databasnamn.
När anslutningen har konfigurerats påbörjas distributionsprocessen. Du kan välja att automatiskt köra distributionen (publicera) eller generera ett skript att granska innan du kör (generera skript).
SqlPackage CLI används för att distribuera en .dacpac fil till en måldatabas med publiceringsåtgärden.
Om du till exempel vill distribuera en .dacpac fil till en måldatabas baserat på en anslutningssträng:
sqlpackage /Action:Publish /SourceFile:bin/Debug/projectname.dacpac /TargetConnectionString:{yourconnectionstring}
 
              
              