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.
Gäller för: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Med Schemajämtning kan du jämföra två databasdefinitioner. Jämförelsens källa och mål kan vara valfri kombination av ansluten databas, SQL-databasprojekt eller .dacpac fil. När jämförelsen är klar visas resultatet som en uppsättning åtgärder som gör målet till samma som källan. Skillnader mellan databasmodellerna presenteras som en diff i versionshantering.
Om målet för schemajämförelsen är ett SQL-projekt eller en databas, kan du uppdatera målet direkt från gränssnittet för Schema Compare eller generera ett uppdateringsskript med samma resultat.
Schema Compare erbjuder följande funktioner:
- Jämför scheman mellan två
.dacpacfiler, databaser eller SQL-databasprojekt. - Visa resultaten som en uppsättning åtgärder för att matcha ett mål med källan.
- Selektivt exkludera åtgärder som anges i resultat.
- Ange alternativ som styr jämförelsens omfång.
- Tillämpa ändringar direkt på målet eller generera ett skript för att tillämpa ändringar vid ett senare tillfälle.
- Spara jämförelsen som en
.scmpfil för återanvändning.
Förutsättningar
- SQL Server Management Studio 22.7 eller senare
- Database DevOps-arbetsbelastning (krävs endast vid jämförelse av SQL-databasprojekt)
Starta jämförelse av scheman
Du kan öppna Schemaskillnad i SSMS från flera olika ställen.
Object Explorer
Högerklicka på en databas i Object Explorer och välj Tasks>Schema Compare (Preview). Den valda databasen anges automatiskt som källa.
Prieskumník riešení
Högerklicka på ett SQL-databasprojekt i Prieskumník riešení och välj Schema Compare (förhandsversion). Det valda projektet anges automatiskt som källa.
Anmärkning
Om du vill arbeta med SQL-databasprojekt i Prieskumník riešení behöver du arbetsbelastningen Database DevOps.
Menyn Verktyg
På menyn Verktyg väljer du Schemajämförelse (förhandsversion). Fönstret Schema Compare öppnas utan en förvald källa eller ett förvalt mål.
Välj källa och mål
När Schemajämförelse öppnas väljer du källan och målet för jämförelsen. Var och en kan vara en ansluten databas, en .dacpac fil eller ett SQL-databasprojekt.
- Databas: Anslut till en databasinstans som körs. Källan är den databasdefinition som du vill använda som grund för ändringar i måldatabasen.
-
Datanivåprogram (.dacpac): Bläddra till en kompilerad
.dacpacfil. En.dacpacinnehåller en ögonblicksbild av ett databasschema. - Database Project: Välj ett öppet SQL-databasprojekt. Kräver Database DevOps-arbetsbelastningen.
Målet är den databasdefinition som du vill utvärdera och eventuellt tillämpa ändringar på.
Jämförelse mellan körning och granskning
Välj Jämför i verktygsfältet för att starta jämförelseprocessen.
När jämförelsen är klar visar fönstret Resultat de strukturella skillnaderna mellan källan och målet. Jämförelseresultatet grupperar alla skillnader efter åtgärd, till exempel Ta bort, Ändra eller Lägg till.
Varje rad identifierar objektet i käll- eller målschemat (eller båda) och den åtgärd som processen vidtar för målschemat, så att målobjektet blir detsamma som källobjektet. Om du byter namn på ett objekt eller flyttar det till ett nytt schema är käll- och målnamnen olika. Källnamnet visas i fetstil för att markera skillnaden.
Som standard döljer resultatlistan objekt som är samma i båda schemana eller som inte stöds för uppdatering (till exempel inbyggda objekt). Välj lämpliga filterknappar i verktygsfältet för att visa dessa objekt.
Om du vill ändra grupperingsinställningen väljer du listrutan Gruppresultat i verktygsfältet. Välj Typ för att gruppera resultatet efter objekttyp, till exempel efter tabeller, vyer eller lagrade procedurer.
Exkludera skillnader
Som standard innehåller åtgärden Uppdatera mål alla skillnader i dess omfång. Om du vill undanta skillnader som du inte vill synkronisera avmarkerar du kolumnen Inkludera för varje rad. Raden gråmarkeras omedelbart. När Schema Compare uppdaterar målobjektet tas den raden inte med i ändringar som väntar.
Om en exkluderad rad har beroende objekt, till exempel en tabellrad som refereras till av en Visa-rad , inaktiveras den exkluderade raden, men kryssrutan avmarkeras inte förrän du också avmarkerar alla beroende rader. Om du omstrukturerar en rad, till exempel byter namn på eller flyttar den till ett annat schema, inaktiveras kryssrutan för den raden och dess beroende underordnade rader.
Jämförelsealternativ
Välj Alternativ i verktygsfältet för att konfigurera vilka objekt som jämförs och vilka typer av skillnader som ignoreras. Alternativen inkluderar:
- Ignorera blanksteg
- Ignorera partitionsschema
- Ignorera kolumnordning
Du kan också konfigurera vilka objekttyper som ingår i jämförelsen, till exempel tabeller, lagrade procedurer, index, behörigheter och användardefinierade typer.
Tillämpa ändringar
Om du vill uppdatera schemat för målet har du två alternativ:
- Tillämpa: Tillämpa ändringar direkt på måldatabasen eller projektet från fönstret Schemajämförelse.
- Generate Script: Generera ett Transact-SQL skript som samlar in samma ändringar som du kan granska och köra senare.
Ett genererat skript visas i Transact-SQL-redigeraren, där du kan inspektera och köra det mot en databas.
Spara jämförelser
Du kan spara jämförelsedefinitionen för schemajämförelse som en .scmp fil, som kallas för en schemajämförelsefil. Den här filen lagrar information om jämförelseinställningarna i XML och innehåller:
- Käll- och målanslutningsinformation
- Jämförelsealternativ
- Undantagna objekttyper
Du kan öppna en .scmp fil i SSMS för att köra samma jämförelse igen senare eller dela jämförelsen med andra.