Séma-összehasonlítás (előzetes verzió) az SQL Server Management Studio-ban

A következőkre vonatkozik: SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

A Séma összehasonlítása funkcióval két adatbázis-definíciót hasonlíthat össze. Az összehasonlítás forrása és célja a csatlakoztatott adatbázis, az SQL Database-projekt vagy .dacpac a fájl bármilyen kombinációja lehet. Az összehasonlítás befejezése után az eredmények olyan műveletek készleteként jelennek meg, amelyek a célt a forrással azonosvá teszik. Az adatbázismodellek közötti különbségek forráskövetési diffként jelennek meg.

Ha a séma-összehasonlítási cél egy SQL-projekt vagy egy adatbázis, frissítheti a célértéket közvetlenül a Séma összehasonlítása felületről, vagy létrehozhat egy ugyanolyan hatású frissítési szkriptet.

A SQL Server Management Studio Séma-összehasonlítás ablakának képernyőképe, amely egy forrás és egy cél közötti összehasonlítást mutat.

A Séma összehasonlítása a következő képességeket biztosítja:

  • Két .dacpac fájl, adatbázis vagy SQL-adatbázisprojekt sémáinak összehasonlítása.
  • Az eredményeket a forrással egyező célnak megfelelő műveletkészletként tekintheti meg.
  • Az eredményekben felsorolt műveletek szelektív kizárása.
  • Adja meg az összehasonlítás hatókörét vezérlő beállításokat.
  • A módosításokat közvetlenül a célra alkalmazhatja, vagy létrehozhat egy szkriptet a módosítások későbbi alkalmazásához.
  • Mentse az összehasonlítást .scmp fájlként későbbi újbóli felhasználásra.

Prerequisites

Séma-összehasonlítás indítása

A Séma-összehasonlítás több belépési pontból is megnyitható az SSMS-ben.

Object Explorer

Kattintson a jobb gombbal egy adatbázisra Object Explorer és válassza a Tasks>Schema Compare (előzetes verzió) lehetőséget. A kijelölt adatbázis automatikusan forrásként van beállítva.

Megoldáskezelő

Kattintson a jobb gombbal egy SQL-adatbázisprojektre Megoldáskezelő és válassza a Schema Compare (előzetes verzió) lehetőséget. A kijelölt projekt automatikusan forrásként van beállítva.

Note

Az SQL Database-projektek Megoldáskezelő való használatához szüksége van a Adatbázis DevOps-számítási feladatra.

Eszközök menü

Az Eszközök menüben válassza a Séma összehasonlítása (előzetes verzió) lehetőséget. A Séma összehasonlítása ablak előre beállított forrás vagy cél nélkül nyílik meg.

Forrás és cél kiválasztása

Miután megnyílik a Séma-összehasonlítás, válassza ki az összehasonlítás forrását és célját. Mindegyik lehet csatlakoztatott adatbázis, .dacpac fájl vagy SQL-adatbázisprojekt.

A forrás- és célkiválasztási lehetőségeket bemutató képernyőkép, amely az Adatbázis, az Adatrétegű alkalmazás (.dacpac) és az Adatbázisprojekt lehetőségeket mutatja.

  • Adatbázis: Csatlakozás futó adatbázispéldányhoz. A forrás az adatbázis definíciója, amelyet a cél módosításának alapjául szeretne használni.
  • Adatszintű alkalmazás (.dacpac): Tallózással keresse meg a lefordított .dacpac fájlt. Egy .dacpac adatbázisséma pillanatképét tartalmazza.
  • Database Project: Válasszon egy megnyitott SQL-adatbázisprojektet. A DevOps adatbázis-számítási feladatát igényli.

A cél az az adatbázisdefiníció, amelyet ki szeretne értékelni, és amelyen esetleg módosításokat szeretne alkalmazni.

Összehasonlítás futtatása és áttekintése

Az összehasonlítási folyamat elindításához válassza az eszköztár Összehasonlítás elemét.

Amikor az összehasonlítás befejeződik, az Eredmények panel megjeleníti a forrás és a cél közötti szerkezeti különbségeket. Az összehasonlítási eredmények művelet szerint csoportosítják az összes különbséget, például Törlés, Módosítás vagy Hozzáadás.

Minden sor azonosítja a forrás- vagy célséma objektumát (vagy mindkettőt) és azt a műveletet, amelyet a folyamat a célsémában hajt végre, hogy a célobjektum megegyezik a forrásobjektuméval. Ha átnevez egy objektumot, vagy áthelyezi egy új sémába, a forrás- és a célnevek eltérőek. A forrás neve félkövér betűtípusban jelenik meg a különbség kiemeléséhez.

Az eredménylista alapértelmezés szerint elrejti a két sémában azonos vagy frissítésre nem támogatott objektumokat (például beépített objektumokat). Az eszköztár megfelelő szűrőgombjaival megjelenítheti ezeket az objektumokat.

A csoportosítási beállítás módosításához válassza a Csoporteredmények legördülő listát az eszköztáron. A Típus elemet választva az eredményeket objektumtípus, például táblák, nézetek vagy tárolt eljárások szerint csoportosíthatja.

Különbségek kizárása

Alapértelmezés szerint a Cél frissítése művelet a hatókörében lévő összes különbséget tartalmazza. A nem szinkronizálni kívánt különbségek kizárásához törölje az egyes sorok Belefoglalás oszlopának jelölését. A sor azonnal kiszürkül. Amikor a Séma összehasonlítása frissíti a célértéket, a függőben lévő módosítások esetében nem veszi figyelembe ezt a sort.

Ha egy kizárt sor függő objektumokkal rendelkezik, például egy Nézet sor által hivatkozott táblázatsorsal, a kizárt sor le van tiltva, de a jelölőnégyzete csak akkor törlődik, ha az összes függő sort is törli. Ha átdolgoz egy sort, például átnevezi vagy áthelyezi egy másik sémába, annál a sornál és a tőle függő gyermeksoroknál a jelölőnégyzet le van tiltva.

Összehasonlítási lehetőségek

Az eszköztár Beállításai elemének kiválasztásával konfigurálhatja, hogy mely objektumok legyenek összehasonlítva, és milyen típusú különbségek legyenek figyelmen kívül hagyva. A lehetőségek a következők:

  • Üres tér figyelmen kívül hagyása
  • Partíciós sémák figyelmen kívül hagyása
  • Oszlopsorrend figyelmen kívül hagyása

Azt is beállíthatja, hogy az összehasonlítás mely objektumtípusokat tartalmazza, például táblákat, tárolt eljárásokat, indexeket, engedélyeket és felhasználó által definiált típusokat.

Módosítások alkalmazása

A cél sémájának frissítéséhez két lehetősége van:

  • Alkalmazás: Módosítások alkalmazása közvetlenül a céladatbázisra vagy projektre a Séma összehasonlítása ablakban.
  • Generate Script: Hozzon létre egy Transact-SQL szkriptet, amely ugyanazokat a módosításokat rögzíti, amelyeket később áttekinthet és futtathat.

Egy létrehozott szkript jelenik meg a Transact-SQL-szerkesztőben, ahol megvizsgálhatja és futtathatja egy adatbázison.

Összehasonlítások mentése

A Séma-összehasonlítás összehasonlítási definícióját fájlként .scmp , más néven séma-összehasonlító fájlként mentheti. Ez a fájl az XML-összehasonlítási beállításokra vonatkozó információkat tárolja, és a következőket tartalmazza:

  • Forrás- és célkapcsolati információk
  • Összehasonlítási lehetőségek
  • Kizárt objektumtípusok

Megnyithat egy .scmp fájlt az SSMS-ben, hogy később ismét ugyanazt az összehasonlítást futtassa, vagy megoszthatja az összehasonlítást másokkal.