Kommentar
Å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.
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 hjälper dig att integrera databasutveckling i arbetsflöden för kontinuerlig integrering och kontinuerlig distribution (CI/CD) som är bekanta som metodtips för utveckling. I SSMS kan du använda Microsoft.Build.Sql projekt i förhandsversion för att implementera, hantera och samarbeta om databasändringar genom att tillhandahålla en lokal definition av databasobjekten.
Den här artikeln beskriver hur du använder SQL-databasprojekt i SQL Server Management Studio (SSMS) som en del av eller för att förankra DevOps-arbetsflöden för databasen. Mer information om SQL-databasprojekt finns i SQL-databasprojekt.
Förutsättningar
Skapa ett nytt projekt
Om du vill arbeta med SQL-databasprojekt i SSMS behöver du en lokal mapp som innehåller dina projektfiler. Du kan starta ett projekt genom att extrahera objekt från en befintlig databas eller genom att skapa nya objektfiler från grunden.
Anmärkning
SSMS kan uppmana dig att ansluta till en server när du öppnar en fil från Solution Explorer. Du kan utföra sql database-projektutveckling offline utan att ansluta till en databas.
Lägga till objekt från en befintlig databas
Använd SqlPackage för att extrahera schemat från en befintlig databas till enskilda .sql filer ordnade efter objekttyp. Kör följande kommando för att skapa en mappstruktur med dina databasobjekt:
sqlpackage /Action:Extract /SourceConnectionString:"<connection-string>" /TargetFile:"<temp-folder>" /p:ExtractTarget=SchemaObjectType
Parametern /p:ExtractTarget=SchemaObjectType organiserar de extraherade filerna i undermappar baserat på schema- och objekttyp (till exempel dbo/Tables, dbo/StoredProcedures). Extrahera till en tillfällig mapp utanför projektkatalogen och använd sedan Utforskaren för att kopiera önskat innehåll till projektmappen.
Mer information om alternativ för SqlPackage-extrahering finns i SqlPackage-extrahering.
Skapa nya objekt
Lägg till nya databasobjekt i projektet genom att skapa .sql filer i projektmappen. Varje fil ska innehålla en enda CREATE instruktion för ett databasobjekt. Till exempel en tabelldefinition:
CREATE TABLE [dbo].[Products]
(
[ProductId] INT NOT NULL PRIMARY KEY,
[ProductName] NVARCHAR (100) NOT NULL,
[Price] DECIMAL (10, 2) NOT NULL
);
Ordna filer efter schema och objekttyp med hjälp av undermappar, till exempel dbo/Tables eller Sales/StoredProcedures. Den här strukturen matchar utdata från SqlPackage-extraktet och gör det enklare att hitta objekt när projektet växer. SQL-projektbyggprocessen innehåller alla .sql filer i projektmappen och dess undermappar som standard.
SSMS innehåller mallar för vanliga objekt som hjälper dig att komma igång. Om du vill lägga till ett nytt objekt högerklickar du på projektet i Solution Explorer, väljer Lägg till>nytt objekt och väljer i listan över SQL-objektmallar.
Öppna befintliga projekt
Om du vill öppna ett befintligt SQL-databasprojekt i SSMS väljer duÖppna>projekt/lösning för > och navigerar till .sqlproj filen.
Viktigt!
SSMS stöder endast SDK-stilprojekt Microsoft.Build.Sql. Den lägsta SDK-versionen som stöds är 2.1.0. Om du har skapat ett ursprungligt SQL-projekt i Visual Studio måste du konvertera det till SDK-format innan du öppnar det.
Vägledning om hur du konverterar ursprungliga SQL-projekt till SDK-format finns i Konvertera ett ursprungligt SQL-projekt till ett SDK-liknande projekt.
Skapa projekt och distribuera ändringar
SQL-projektarbetsflödet består av två huvudsakliga steg: att skapa projektet för att verifiera och kompilera schemat och distribuera kompilerade utdata till en måldatabas.
Projektkompilering
När du skapar ett SQL-projekt verifieras relationerna mellan objekten och T-SQL-syntaxen kontrolleras mot den angivna målplattformen. Byggprocessen skapar en .dacpac fil som innehåller en kompilerad modell av databasschemat.
Om du vill skapa ett projekt i SSMS högerklickar du på projektet i Solution Explorer och väljer Skapa.
Build-utdata visar eventuella fel eller varningar. Fel indikerar problem som förhindrar distribution, till exempel en vy som refererar till en tabell som inte finns. Varningar belyser potentiella problem som inkonsekvent hölje i objektnamn.
Vid en lyckad kompilering skapas .dacpac-filen i mappen bin\Debug inom din projektkatalog.
För mer information om hur du felsöker kompilationsproblem, se Felsökning av fel vid kompilering av SQL-projekt.
Distribuera ändringar
När du har skapat projektet distribuerar du .dacpac till en måldatabas med hjälp av dialogrutan Publicera i SSMS. Distributionsprocessen jämför .dacpac med måldatabasen och genererar nödvändiga CREATE- eller ALTERDROP -instruktioner för att synkronisera databasen med projektet.
Om du vill distribuera högerklickar du på projektet i Solution Explorer och väljer Publicera. I dialogrutan Publicera konfigurerar du måldatabasanslutningen och väljer Publicera för att tillämpa ändringar eller Generera skript för att granska distributionsskriptet före körning.
Publiceringsprocessen är idempotent, så du kan distribuera samma .dacpac flera gånger utan att orsaka problem. Med den här metoden kan du distribuera till flera miljöer (utveckling, mellanlagring, produktion) med hjälp av samma kompilerade artefakt.
Detaljerad information om distributionsalternativ och konfiguration finns i Komma igång med SQL-databasprojekt.