Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Applies to: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Porovnání schématu umožňuje porovnat dvě definice databáze. Zdrojem a cílem porovnání může být libovolná kombinace připojené databáze, projektu databáze SQL nebo .dacpac souboru. Po dokončení porovnání se výsledky zobrazí jako sada akcí, které uvedou cíl do stejného stavu jako zdroj. Rozdíly mezi databázovými modely se zobrazují jako rozdíly ve správě zdrojového kódu.
Pokud je cílem porovnání schématu projekt SQL nebo databáze, můžete cíl aktualizovat přímo z rozhraní porovnání schémat nebo vygenerovat aktualizační skript, který má stejný účinek.
Porovnání schémat poskytuje následující možnosti:
- Porovnejte schémata mezi dvěma
.dacpacsoubory, databázemi nebo projekty databáze SQL. - Zobrazte výsledky jako sadu akcí, které odpovídají cíli vůči zdroji.
- Selektivní vyloučení akcí uvedených ve výsledcích
- Nastavte možnosti, které řídí rozsah porovnání.
- Použijte změny přímo na cíl nebo vygenerujte skript pro pozdější použití změn.
- Uložte porovnání jako
.scmpsoubor pro opakované použití.
Předpoklady
- SQL Server Management Studio verze 22.7 nebo novější
- Úloha DevOps databáze (vyžaduje se pouze při porovnávání projektů databáze SQL)
Spustit porovnání schématu
V nástroji SSMS můžete otevřít porovnání schémat z několika vstupních bodů.
Průzkumník objektů
Klikněte pravým tlačítkem na databázi v Průzkumník objektů a vyberte Tasks>Schema Compare (Preview). Vybraná databáze se automaticky nastaví jako zdroj.
Průzkumník řešení
Klikněte pravým tlačítkem na projekt databáze SQL v Průzkumník řešení a vyberte Schema Compare (Preview). Vybraný projekt se automaticky nastaví jako zdroj.
Poznámka:
Pokud chcete pracovat s projekty databáze SQL v Průzkumník řešení, potřebujete úlohu Database DevOps.
Nabídka Nástroje
V nabídce Nástroje vyberte Porovnání schémat (Preview). Otevře se okno Porovnání schématu bez přednastaveného zdroje nebo cíle.
Výběr zdroje a cíle
Po otevření okna Schema Compare vyberte zdroj a cíl pro porovnání. Každá z nich může být připojená databáze, .dacpac soubor nebo projekt databáze SQL.
- Databáze: Připojte se ke spuštěné instanci databáze. Zdrojem je definice databáze, kterou chcete použít jako základ pro změny cíle.
-
Aplikace datové vrstvy (.dacpac): Vyhledejte kompilovaný
.dacpacsoubor. A.dacpacobsahuje snímek schématu databáze. - Database Project: Vyberte otevřený project databáze SQL. Vyžaduje zatížení DevOps pro databáze.
Cílem je definice databáze, na kterou chcete vyhodnotit a potenciálně použít změny.
Spustit a zkontrolovat porovnání
Výběrem možnosti Porovnat na panelu nástrojů zahájíte proces porovnání.
Po dokončení porovnání se v podokně Výsledky zobrazí strukturální rozdíly mezi zdrojem a cílem. Výsledky porovnání seskupí všechny rozdíly podle akce, jako je odstranění, změna nebo přidání.
Každý řádek identifikuje objekt ve zdrojovém nebo cílovém schématu (nebo obojím) a akci, kterou proces převezme na cílovém schématu, aby cílový objekt byl stejný jako zdrojový objekt. Pokud objekt přejmenujete nebo přesunete do nového schématu, liší se zdrojové a cílové názvy. Název zdroje se zobrazí tučným písmem, aby se zvýrazňoval rozdíl.
Ve výchozím nastavení seznam výsledků skryje objekty, které jsou stejné v obou schématech nebo které nejsou podporovány pro aktualizaci (například předdefinované objekty). Výběrem příslušných tlačítek filtru na panelu nástrojů zobrazte tyto objekty.
Pokud chcete změnit předvolbu seskupení, vyberte na panelu nástrojů rozevírací seznam Výsledky skupiny . Výběrem možnosti Typ seskupíte výsledky podle typu objektu, například podle tabulek, zobrazení nebo uložených procedur.
Vyloučení rozdílů
Ve výchozím nastavení akce Update Target zahrnuje všechny rozdíly v rámci svého rozsahu. Pokud chcete vyloučit rozdíly, které nechcete synchronizovat, zrušte zaškrtnutí políčka Zahrnout u každého řádku. Řádek se okamžitě zobrazí šedě. Když porovnání schématu aktualizuje cíl, nepovažuje tento řádek za žádné čekající změny.
Pokud má vyloučený řádek závislé objekty, například řádek tabulky odkazovaný na řádek Zobrazení , je vyloučený řádek zakázaný, ale jeho zaškrtávací políčko se nevymaže, dokud nezaškrtnete všechny závislé řádky. Pokud refaktorujete řádek, například ho přejmenujete nebo přesunete do jiného schématu, zaškrtávací políčko pro tento řádek a jeho závislé podřízené řádky je deaktivováno.
Možnosti porovnání
Výběrem možnosti na panelu nástrojů nakonfigurujte, které objekty se porovnávají a jaké typy rozdílů se ignorují. K dispozici jsou následující možnosti:
- Ignorovat prázdné znaky
- Ignorovat schémata oddílů
- Ignorovat pořadí sloupců
Můžete také nakonfigurovat, které typy objektů jsou součástí porovnání, jako jsou tabulky, uložené procedury, indexy, oprávnění a uživatelem definované typy.
Použít změny
Pokud chcete aktualizovat schéma cíle, máte dvě možnosti:
- Použít: Použijte změny přímo na cílovou databázi nebo projekt z okna Porovnání schémat.
- Generate Script: Vygenerujte Transact-SQL skript, který zachycuje stejné změny, které můžete zkontrolovat a spustit později.
Vygenerovaný skript se zobrazí v editoru Transact-SQL, kde ho můžete zkontrolovat a spustit pro databázi.
Uložit porovnání
Definici porovnání schématu můžete uložit jako .scmp soubor, který se označuje jako soubor porovnání schématu. Tento soubor ukládá informace o nastavení porovnání v jazyce XML a zahrnuje:
- Informace o zdrojovém a cílovém připojení
- Možnosti porovnání
- Vyloučené typy objektů
V aplikaci SSMS můžete otevřít .scmp soubor, abyste mohli znovu spustit stejné porovnání později nebo sdílet porovnání s ostatními.