Porównanie schematów (wersja zapoznawcza) w SQL Server Management Studio

Dotyczy: SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Porównanie schematów umożliwia porównywanie dwóch definicji bazy danych. Źródłem i celem porównania może być dowolna kombinacja połączonej bazy danych, projektu bazy danych SQL lub .dacpac pliku. Po zakończeniu porównania wyniki są wyświetlane jako zestaw akcji, które sprawiają, że element docelowy jest taki sam jak źródło. Różnice między modelami baz danych są prezentowane jak różnice kontroli źródła.

Jeśli element docelowy porównania schematów jest projektem SQL lub bazą danych, możesz zaktualizować obiekt docelowy bezpośrednio z interfejsu Porównanie schematów lub wygenerować skrypt aktualizacji, który ma taki sam efekt.

Zrzut ekranu przedstawiający okno „Porównanie schematów” w programie SQL Server Management Studio, pokazujące porównanie między źródłem a obiektem docelowym.

Porównanie schematów zapewnia następujące możliwości:

  • Porównaj schematy między dwoma .dacpac plikami, bazami danych lub projektami bazy danych SQL.
  • Wyświetl wyniki jako zestaw akcji, aby dopasować element docelowy do źródła.
  • Selektywne wykluczanie akcji wymienionych w wynikach.
  • Ustaw opcje kontrolujące zakres porównania.
  • Zastosuj zmiany bezpośrednio do obiektu docelowego lub wygeneruj skrypt, aby później zastosować zmiany.
  • Zapisz porównanie jako plik .scmp do ponownego wykorzystania.

Wymagania wstępne

Uruchom porównanie schematów

Porównanie schematów można otworzyć w programie SSMS z kilku punktów wejścia.

Eksplorator obiektów

Kliknij prawym przyciskiem myszy bazę danych w Eksplorator obiektów i wybierz pozycję Tasks>Schema Compare (wersja zapoznawcza). Wybrana baza danych jest automatycznie ustawiana jako źródło.

Eksplorator rozwiązań

Kliknij prawym przyciskiem myszy projekt bazy danych SQL w Eksplorator rozwiązań i wybierz pozycję Schema Compare (wersja zapoznawcza). Wybrany projekt jest automatycznie ustawiany jako źródło.

Uwaga / Notatka

Aby pracować z projektami bazy danych SQL w Eksplorator rozwiązań, potrzebujesz obciążenia Database DevOps.

Menu Narzędzia

W menu Narzędzia wybierz pozycję Porównanie schematu (wersja zapoznawcza). Zostanie otwarte okno Porównanie schematów bez wstępnie ustawionego źródła lub elementu docelowego.

Wybierz źródło i element docelowy

Po otwarciu narzędzia Porównanie schematów wybierz źródło i cel porównania. Każda może być połączoną bazą danych, plikiem .dacpac lub projektem bazy danych SQL.

Zrzut ekranu przedstawiający opcje wyboru źródła i celu, pokazujący opcje Database, Data-tier Application (.dacpac) i Database Project.

  • Baza danych: Połącz się z uruchomionym wystąpieniem bazy danych. Źródłem jest definicja bazy danych, której chcesz użyć jako podstawy zmian w obiekcie docelowym.
  • Aplikacja warstwy danych (dacpac): przejdź do skompilowanego .dacpac pliku. Obiekt .dacpac zawiera migawkę schematu bazy danych.
  • Database Project: Wybierz otwarty projekt bazy danych SQL. Wymaga pakietu roboczego Database DevOps.

Obiektem docelowym jest definicja bazy danych, którą chcesz ocenić i do której można ewentualnie zastosować zmiany.

Uruchamianie i przeglądanie porównania

Wybierz pozycję Porównaj na pasku narzędzi, aby rozpocząć proces porównywania.

Po zakończeniu porównania w okienku Wyniki są wyświetlane różnice strukturalne między źródłem a obiektem docelowym. Wyniki porównania grupują wszystkie różnice według akcji, na przykład Usuń, Zmień lub Dodaj.

Każdy wiersz identyfikuje obiekt w schemacie źródłowym lub docelowym (albo oba te elementy) oraz akcję wykonywaną w schemacie docelowym, aby obiekt docelowy był taki sam jak obiekt źródłowy. Jeśli zmienisz nazwę obiektu lub przeniesiesz go do nowego schematu, nazwy źródłowe i docelowe będą inne. Nazwa źródła jest wyświetlana na pogrubionej czcionki, aby wyróżnić różnicę.

Domyślnie lista wyników ukrywa obiekty, które są takie same w obu schematach lub które nie są obsługiwane do aktualizacji (na przykład obiekty wbudowane). Wybierz odpowiednie przyciski filtru na pasku narzędzi, aby wyświetlić te obiekty.

Aby zmienić preferencję grupowania, wybierz listę rozwijaną Grupuj wyniki na pasku narzędzi. Wybierz pozycję Typ , aby pogrupować wyniki według typu obiektu, na przykład według tabel, widoków lub procedur składowanych.

Wyklucz różnice

Domyślnie akcja Aktualizuj element docelowy zawiera wszystkie różnice w zakresie. Aby wykluczyć różnice, których nie chcesz synchronizować, wyczyść kolumnę Uwzględnij w każdym wierszu. Wiersz natychmiast staje się wyszarzony. Gdy narzędzie Schema Compare aktualizuje element docelowy, nie uwzględnia tego wiersza przy żadnych oczekujących zmianach.

Jeśli wykluczony wiersz ma obiekty zależne, takie jak wiersz Tabela , do którego odwołuje się wiersz Widok , wykluczony wiersz jest wyłączony, ale pole wyboru nie zostanie wyczyszczone, dopóki nie zostanie również usunięte zaznaczenie wszystkich wierszy zależnych. Jeśli zmodyfikujesz wiersz, na przykład zmieniając jego nazwę lub przenosząc go do innego schematu, pole wyboru dla tego wiersza i jego zależnych wierszy będzie niedostępne.

Opcje porównania

Wybierz pozycję Opcje na pasku narzędzi, aby skonfigurować, które obiekty są porównywane i jakie typy różnic są ignorowane. Dostępne opcje:

  • Ignoruj białe znaki
  • Ignoruj schematy partycji
  • Ignoruj kolejność kolumn

Można również skonfigurować typy obiektów uwzględnione w porównaniu, takie jak tabele, procedury składowane, indeksy, uprawnienia i typy zdefiniowane przez użytkownika.

Stosowanie zmian

Aby zaktualizować schemat obiektu docelowego, dostępne są dwie opcje:

  • Zastosuj: zastosuj zmiany bezpośrednio do docelowej bazy danych lub projektu z okna Porównanie schematów.
  • Generate Script: Generuj skrypt Transact-SQL, który przechwytuje te same zmiany, które można przejrzeć i uruchomić w późniejszym czasie.

Wygenerowany skrypt jest wyświetlany w edytorze Transact-SQL, w którym można sprawdzić i uruchomić go względem bazy danych.

Zapisywanie porównań

Możesz zapisać definicję porównania dla Schema Compare jako plik .scmp, nazywany plikiem porównania schematu. Ten plik przechowuje informacje o ustawieniach porównania w pliku XML i zawiera następujące elementy:

  • Informacje o połączeniu źródłowym i docelowym
  • Opcje porównania
  • Wykluczone typy obiektów

Możesz otworzyć .scmp plik w programie SSMS, aby uruchomić to samo porównanie później lub udostępnić porównanie innym osobom.