Udostępnij przez


Uruchom konsolę SSMA (AccessToSQL)

Firma Microsoft udostępnia niezawodny zestaw poleceń pliku skryptu i opcji wiersza polecenia do wykonywania i kontrolowania działań programu SQL Server Migration Assistant (SSMA). W poniższych sekcjach szczegółowo opisano to samo.

Polecenia pliku skryptu projektu

Polecenia programu Project obsługują tworzenie projektów, otwieranie, zapisywanie i kończenie projektów.

create-new-project

Tworzy nowy projekt SSMA.

Attribute Wartość domyślna Description Typ
project-folder Żaden Wskazuje folder tworzonego projektu. Sznurek
project-name Żaden Wskazuje nazwę projektu. Sznurek
overwrite-if-exists false Opcjonalny atrybut określający, czy istniejący projekt ma zostać zastąpiony. logiczny
project-type sql-server-2016 Atrybut opcjonalny. Dostępne są następujące opcje dla programu project-type:

sql-server-2016
sql-server-2017
sql-server-2019
sql-server-2022
sql-server-2025
sql-azure
Sznurek

Przykładowa składnia

<create-new-project
  project-folder="<project-folder>"
  project-name="<project-name>"
  overwrite-if-exists="<true | false>"
  project-type="<project-type>"
/>

open-project

Otwiera istniejący projekt.

Attribute Wartość domyślna Description Typ
project-folder Żaden Wskazuje folder tworzonego projektu. Polecenie kończy się niepowodzeniem, jeśli określony folder nie istnieje. Sznurek
project-name Żaden Wskazuje nazwę projektu. Polecenie kończy się niepowodzeniem, jeśli określony projekt nie istnieje. Sznurek

Przykładowa składnia

<open-project
  project-folder="<project-folder>"
  project-name="<project-name>"
/>

Uwaga / Notatka

Aplikacja SSMA for Access Console obsługuje zgodność z poprzednimi wersjami. Możesz otwierać projekty utworzone przez poprzednią wersję programu SSMA.

save-project

Zapisuje projekt migracji.

Przykładowa składnia

<save-project/>

close-project

Zamyka projekt migracji.

Attribute Wartość domyślna Description Typ
if-modified ignore Opcjonalny atrybut określający zachowanie. Możliwe wartości to: save, error, i ignore. Sznurek

Przykładowa składnia

<close-project
  if-modified="<save/error/ignore>"   (optional)
/>

Atrybut if-modified jest opcjonalny, ignore domyślnie.

Polecenia pliku skryptu połączenia bazy danych

Polecenia połączenia z bazą danych ułatwiają nawiązywanie połączenia z bazą danych.

Funkcja interfejsu użytkownika Przeglądaj nie jest obsługiwana w konsoli.

Parametry windows-authentication i port nie mają zastosowania podczas nawiązywania połączenia z usługą Azure SQL.

Aby uzyskać więcej informacji, zobacz Create script files (Tworzenie plików skryptów).

connect-source-database

Wykonuje połączenie ze źródłową bazą danych i ładuje metadane wysokiego poziomu źródłowej bazy danych, ale nie wszystkie metadane.

Jeśli nie można ustanowić połączenia ze źródłem, zostanie wygenerowany błąd, a aplikacja konsolowa przestanie wykonywać dalsze operacje

Definicja server jest pobierana z atrybutu name zdefiniowanego dla każdego połączenia w server sekcji pliku połączenia serwera lub pliku skryptu.

Przykładowa składnia

<connect-source-database server="<server-unique-name>"/>

load-access-database

Służy do ładowania plików bazy danych Microsoft Access.

Attribute Wartość domyślna Description Typ
database-file Żaden Określa ścieżkę do bazy danych programu Access. Sznurek

Przykładowa składnia

<load-access-database  database-file="<Access-database>"/>

Lub:

<load-access-database>
  <access-database database-file="<Access-database1>"/>
  <access-database database-file="<Access-database2>"/>
</load-access-database>

force-load źródłowa lub docelowa baza danych

Ładuje metadane źródłowe. Przydatne do pracy nad projektem migracji w trybie offline.

Jeśli nie można ustanowić połączenia ze źródłem lub obiektem docelowym, zostanie wygenerowany błąd, a aplikacja konsolowa przestanie wykonywać dalsze operacje.

Wymaga co najmniej jednego metabase węzła jako parametru wiersza polecenia.

Attribute Wartość domyślna Description Typ
object-name Żaden Określa nazwę obiektu. Sznurek
metabase Żaden Określa ścieżkę do bazy danych programu Access. Możliwe wartości to: source lub target Sznurek

Przykładowa składnia

<force-load
  object-name="<object-name>"
  metabase="<source/target>"/>

Lub:

<force-load>
  <metabase-object object-name="<object-name>"/>
</force-load>

reconnect-source-database

Ponownie nawiązuje połączenie ze źródłową bazą danych, ale nie ładuje żadnych metadanych w przeciwieństwie do polecenia connect-source-database.

Jeśli nie można ustanowić połączenia lub ponownego połączenia ze źródłem, zostanie wygenerowany błąd, a aplikacja konsolowa zatrzyma dalsze działanie.

Definicja server jest pobierana z atrybutu name zdefiniowanego dla każdego połączenia w server sekcji pliku połączenia serwera lub pliku skryptu.

Przykładowa składnia

<reconnect-source-database server="<server-unique-name>"/>

connect-target-database

Nawiązuje połączenie z docelowym serwerem SQL Server lub bazą danych Azure SQL Database i ładuje metadane wysokiego poziomu docelowej bazy danych, ale nie w pełni wszystkich metadanych.

Jeśli nie można ustanowić połączenia z obiektem docelowym, zostanie wygenerowany błąd, a aplikacja konsolowa przestanie wykonywać dalsze operacje.

Definicja server jest pobierana z atrybutu name zdefiniowanego dla każdego połączenia w server sekcji pliku połączenia serwera lub pliku skryptu.

Przykładowa składnia

<connect-target-database  server="<server-unique-name>"/>

reconnect-target-database

Ponownie nawiązuje połączenie z docelową bazą danych, ale nie ładuje żadnych metadanych, w przeciwieństwie do polecenia connect-target-database.

Jeśli (re)połączenie z obiektem docelowym nie może zostać nawiązane, zostanie wygenerowany błąd, a aplikacja konsolowa przestanie wykonywać dalsze operacje.

Definicja server jest pobierana z atrybutu name zdefiniowanego dla każdego połączenia w server sekcji pliku połączenia serwera lub pliku skryptu.

Przykładowa składnia

<reconnect-target-database server="<server-unique-name>"/>

Polecenia pliku skryptu raportu

Polecenia raportów generują raporty dotyczące wydajności różnych działań konsoli SSMA

generate-assessment-report

Generuje raporty oceny w źródłowej bazie danych.

Jeśli połączenie źródłowej bazy danych nie zostanie wykonane przed wykonaniem tego polecenia, zostanie wygenerowany błąd i aplikacja konsolowa zakończy działanie.

Niepowodzenie nawiązywania połączenia z źródłowym serwerem bazy danych podczas wykonywania polecenia powoduje również zakończenie aplikacji konsolowej.

Skrypt

  • assessment-report-folder: określa folder, w którym można przechowywać raport oceny. (opcjonalny atrybut)

  • object-name: Określa obiekty rozważane na potrzeby generowania raportu oceny (może mieć nazwy poszczególnych obiektów lub nazwę obiektu grupy).

  • object-type: określa typ obiektu określonego w atrybucie object-name (jeśli określono kategorię obiektu, typ obiektu to "kategoria").

  • assessment-report-overwrite: określa, czy zastąpić folder raportu oceny, jeśli już istnieje.

    Wartość domyślna: false. (opcjonalny atrybut)

  • write-summary-report-to: określa ścieżkę, w której jest generowany raport.

    Jeśli zostanie wymieniona tylko ścieżka folderu, zostanie utworzony plik według nazwy AssessmentReport<n>.xml. (opcjonalny atrybut)

    Tworzenie raportu ma dwie kolejne podkategorie:

    • report-errors (="true/false", z wartością domyślną "false" (atrybuty opcjonalne))
    • verbose (="true/false", z wartością domyślną "false" (atrybuty opcjonalne))

Przykładowa składnia

<generate-assessment-report
  object-name="ssma.Procedures"
  object-type="category"
  write-summary-report-to="<file>"             (optional)
  verbose="<true/false>"                       (optional)
  report-errors="<true/false>"                 (optional)
  conversion-report-folder="<folder>"          (optional)
  conversion-report-overwrite="<true/false>"   (optional)
/>

Lub:

<generate-assessment-report
  conversion-report-folder="<folder>"            (optional)
  conversion-report-overwrite="<true/false>"     (optional)
>
    <metabase-object object-name="ssma.Procedures"
        object-type="category"/>
</generate-assessment-report>

Polecenia w pliku skryptu migracji

Polecenia migracji konwertują docelowy schemat bazy danych na schemat źródłowy i migrują dane na serwer docelowy.

Domyślne ustawienie danych wyjściowych konsoli dla poleceń migracji to "Pełny" raport wyjściowy bez szczegółowego raportowania błędów: podsumowanie tylko w węźle głównym drzewa obiektów źródłowych.

convert-schema

Wykonuje konwersję schematu ze źródła na schemat docelowy.

Jeśli połączenie źródłowej lub docelowej bazy danych nie jest wykonywane przed wykonaniem tego polecenia, lub połączenie ze źródłowym lub docelowym serwerem bazy danych kończy się niepowodzeniem podczas wykonywania polecenia, zostanie wygenerowany błąd i aplikacja konsolowa zakończy działanie.

Skrypt

  • conversion-report-folder: określa folder, w którym można przechowywać raport oceny. (opcjonalny atrybut)

  • object-name: Określa obiekty źródłowe rozważane do konwersji schematu (może mieć nazwy poszczególnych obiektów lub nazwę obiektu grupy).

  • object-type: określa typ obiektu określonego w atrybucie object-name (jeśli określono kategorię obiektu, typ obiektu to "kategoria").

  • conversion-report-overwrite: określa, czy zastąpić folder raportu oceny, jeśli już istnieje.

    Wartość domyślna: false. (opcjonalny atrybut)

  • write-summary-report-to: określa ścieżkę, w której jest generowany raport.

    Jeśli zostanie wymieniona tylko ścieżka folderu, zostanie utworzony plik według nazwy SchemaConversionReport<n>.xml. (opcjonalny atrybut)

    Tworzenie raportu ma dwie kolejne podkategorie:

    • report-errors (="true/false", z wartością domyślną "false" (atrybuty opcjonalne))
    • verbose (="true/false", z wartością domyślną "false" (atrybuty opcjonalne))

Przykładowa składnia

<convert-schema
  object-name="ssma.Procedures"
  object-type="category"
  write-summary-report-to="<filepath/folder>"     (optional)
  verbose="<true/false>"                          (optional)
  report-errors="<true/false>"                    (optional)
  conversion-report-folder="<folder>"             (optional)
  conversion-report-overwrite="<true/false>"      (optional)
/>

Lub:

<convert-schema
  conversion-report-folder="<folder>"         (optional)
  conversion-report-overwrite="<true/false>"  (optional)
>
  <metabase-object object-name="ssma.Procedures"
    object-type="category"/>
</convert-schema>

migrate-data

Migruje dane źródłowe do obiektu docelowego.

Skrypt

  • object-name: Określa obiekty źródłowe rozważane do migrowania danych (mogą mieć nazwy poszczególnych obiektów lub nazwę obiektu grupy).

  • object-type: określa typ obiektu określonego w atrybucie object-name (jeśli określono kategorię obiektu, typ obiektu to "kategoria").

  • write-summary-report-to: określa ścieżkę, w której jest generowany raport.

    Jeśli zostanie wymieniona tylko ścieżka folderu, zostanie utworzony plik według nazwy DataMigrationReport<n>.xml. (opcjonalny atrybut)

    Tworzenie raportu ma dwie kolejne podkategorie:

    • report-errors (="true/false", z wartością domyślną "false" (atrybuty opcjonalne))

    • verbose (="true/false", z wartością domyślną "false" (atrybuty opcjonalne))

Przykładowa składnia

<migrate-data
  write-summary-report-to="<filepath/folder>"
  report-errors="true" verbose="true">
    <metabase-object object-name="ssma.TT1"/>
    <metabase-object object-name="ssma.TT2"/>
    <metabase-object object-name="ssma.TT3"/>
    <data-migration-connection
      source-use-last-used="true"/source-server="<server-unique-name>"
      target-use-last-used="true"/target-server="<server-unique-name>"/>
</migrate-data>

Lub:

<migrate-data
  object-name="ssma.Tables"
  object-type="category"
  write-summary-report-to="<filepath/folder>"
  report-errors="true" verbose="true"/>

To polecenie łączy tabelę źródłową (Access) z tabelą docelową.

Przykładowa składnia

<link-tables>
  <metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
  <metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</link-tables>

Lub:

<link-tables>
  <metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</link-tables>

To polecenie odłącza tabelę źródłową (Access) z tabeli docelowej.

Przykładowa składnia

<unlink-tables>
  <metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
  <metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</unlink-tables>

Lub:

<unlink-tables>
  <metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</unlink-tables>

Polecenia pliku skryptu przygotowania migracji

Polecenie Przygotowanie migracji uruchamia mapowanie schematu między źródłowymi i docelowymi bazami danych.

map-schema

Mapowanie schematu źródłowej bazy danych na schemat docelowy.

Skrypt

  • source-schema określa schemat źródłowy, który zamierzamy migrować.
  • sql-server-schema określa schemat docelowy, w którym ma zostać zmigrowany.

Przykładowa składnia

<map-schema source-schema="source-schema"
            sql-server-schema="target-schema"/>

Polecenia zarządzania

Polecenia zarządzania ułatwiają synchronizowanie obiektów docelowej bazy danych ze źródłową bazą danych.

Domyślne ustawienie danych wyjściowych konsoli dla poleceń migracji to "Pełny" raport wyjściowy bez szczegółowego raportowania błędów: podsumowanie tylko w węźle głównym drzewa obiektów źródłowych.

synchronize-target

Synchronizuje obiekty docelowe z docelową bazą danych. Jeśli to polecenie jest wykonywane względem źródłowej bazy danych, zostanie wyświetlony błąd.

Jeśli docelowe połączenie z bazą danych nie jest wykonywane przed wykonaniem tego polecenia lub połączenie z docelowym serwerem bazy danych zakończy się niepowodzeniem podczas wykonywania polecenia, zostanie wygenerowany błąd i aplikacja konsolowa zakończy działanie.

Skrypt

  • object-name: Określa obiekty docelowe rozważane do synchronizacji z docelową bazą danych (może mieć nazwy poszczególnych obiektów lub nazwę obiektu grupy).

  • object-type: określa typ obiektu określonego w atrybucie object-name (jeśli określono kategorię obiektu, typ obiektu to category).

  • on-error: określa, czy należy określić błędy synchronizacji jako ostrzeżenia lub błąd. Dostępne opcje:

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: określa lokalizację raportu o błędach dla operacji synchronizacji (opcjonalny atrybut)

    Jeśli zostanie podana tylko ścieżka folderu, zostanie utworzony plik o nazwie TargetSynchronizationReport.xml .

Przykładowa składnia

<synchronize-target
  object-name="ots_triggers.dbo"
  on-error="<report-total-as-warning|
             report-each-as-warning|
             fail-script>"              (optional)
  report-errors-to="<file-name>"        (optional)
/>

Lub:

<synchronize-target
  object-name="ssma.dbo.Procedures"
  object-type="category"/>

Lub:

<synchronize-target>
  <metabase-object object-name="ssma.dbo.TT1"/>
  <metabase-object object-name="ssma.dbo.TT2"/>
  <metabase-object object-name="ssma.dbo.TT3"/>
</synchronize-target>

refresh-from-database

Odświeża obiekty źródłowe z bazy danych. Jeśli to polecenie jest wykonywane względem docelowej bazy danych, zostanie wygenerowany błąd.

Skrypt

Wymaga jednego lub kilku węzłów metabazy jako parametru wiersza polecenia.

  • object-name: Określa obiekty źródłowe rozważane do odświeżania z źródłowej bazy danych (może mieć nazwy poszczególnych obiektów lub nazwę obiektu grupy).

  • object-type: określa typ obiektu określonego w atrybucie object-name (jeśli określono kategorię obiektu, typ obiektu to category).

  • on-error: określa, czy należy określić błędy odświeżania jako ostrzeżenia lub błąd. Dostępne opcje:

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: określa lokalizację raportu o błędach dla operacji synchronizacji (opcjonalny atrybut)

    Jeśli zostanie podana tylko ścieżka folderu, zostanie utworzony plik o nazwie SourceDBRefreshReport.xml .

Przykładowa składnia

<refresh-from-database
  object-name="ssma.TT1"
  on-error="<report-total-as-warning|
             report-each-as-warning|
             fail-script>"              (optional)
  report-errors-to="<file-name>"        (optional)
/>

Lub:

<refresh-from-database
  object-name="ssma.Procedures"
  object-type="category"/>

Lub:

<refresh-from-database>
  <metabase-object object-name="ssma.TT_1"/>
</refresh-from-database>

Polecenia generowania plików skryptów

Polecenia generowania skryptów ułatwiają zapisywanie danych wyjściowych konsoli w pliku skryptu.

save-as-script

Służy do zapisywania skryptów obiektów do pliku wymienionego podczas metabase=target. Jest to alternatywa dla polecenia synchronizacji, w którym otrzymujemy skrypty i wykonujemy to samo w docelowej bazie danych.

Skrypt

Wymaga jednego lub kilku węzłów metabazy jako parametru wiersza polecenia.

  • object-name: określa obiekty, których skrypty mają zostać zapisane. (Może mieć nazwy poszczególnych obiektów lub nazwę obiektu grupy).

  • object-type: określa typ obiektu określonego w atrybucie object-name . Jeśli określono kategorię obiektów, typ obiektu to category.

  • metabase: określa, czy jest to metabaza źródłowa, czy docelowa.

  • destination: określa ścieżkę lub folder, w którym ma zostać zapisany skrypt. Jeśli nazwa pliku nie jest podana, nazwa pliku w formacie (object_name attribute value).

  • overwrite: Jeśli true to spowoduje zastąpienie, jeśli istnieją te same nazwy plików. Może mieć wartości (true/false).

Przykładowa składnia

<save-as-script
  metabase="<source/target>"
  object-name="ssma.dbo.Procedures"
  object-type="category"
  destination="<file/folder>"
  overwrite="<true/false>"             (optional)
/>

Lub:

<save-as-script
  metabase="<source/target>"
  destination="<file/folder>"
>
    <metabase-object object-name="ssma.dbo.Procedures"
                     object-type="category"/>
</save-as-script>