Microsoft では、SSMA アクティビティを実行および制御するための堅牢なスクリプト ファイル コマンドのセットを提供しています。
コンソール アプリケーションでは、このセクションで列挙されているように、特定の標準スクリプト ファイル コマンドを使用します。
プロジェクト スクリプト ファイルのコマンド
命令
新規プロジェクトを作成
新しい SSMA プロジェクトを作成します。
プロジェクト コマンドは、プロジェクトの作成、プロジェクトのオープン、保存、および終了を処理します。
スクリプト
project-folder
: 作成されるプロジェクトのフォルダーを示します。project-name
: プロジェクトの名前を示します。 {string}overwrite-if-exists
: 省略可能な属性。 既存のプロジェクトを上書きするかどうかを示します。 {boolean}project-type
: 省略可能な属性。 プロジェクトの種類 ("sql-server-2005" プロジェクト、"sql-server-2008" プロジェクト、"sql-server-2012" または "sql-server-2014" プロジェクト、または "sql-azure" プロジェクト) を示します。 既定値は "sql-server-2008" です。
構文の例:
<create-new-project
project-folder="<project-folder>"
project-name="<project-name>"
overwrite-if-exists="<true/false>" (optional)
project-type=="<sql-server-2008 | sql-server-2005 | sql-server-2012 | sql-server-2014 | sql-azure>" (optional)
/>
属性 'overwrite-if-exists' は既定で false です 。
属性 'project-type' は既定で sql-server-2008 です。
命令
open-project:
既存のプロジェクトを開きます。
スクリプト
project-folder
は、作成されるプロジェクトのフォルダーを示します。 指定したフォルダーが存在しない場合、コマンドは失敗します。 {string}project-name
はプロジェクトの名前を示します。 指定したプロジェクトが存在しない場合、コマンドは失敗します。 {string}
構文の例:
<open-project
project-folder="<project-folder>"
project-name="<project-name>"
/>
Von Bedeutung
SSMA For MySQL コンソール アプリケーションでは、下位互換性がサポートされています。 以前のバージョンの SSMA によって作成されたプロジェクトを開くことができます。
命令
save-project: 移行プロジェクトを保存します。
スクリプト
構文の例:
<save-project/>
命令
プロジェクトを閉じる
: 移行プロジェクトを閉じます。
スクリプト
構文の例:
<save-project/>
命令
プロジェクトを閉じる
: 移行プロジェクトを閉じます。
スクリプト
構文の例:
<close-project
if-modified="<save/error/ignore>" (optional)
/>
属性 'if-modified' は省略可能です。既定では 無視 されます。
データベース接続スクリプト ファイルのコマンド
データベース接続コマンドは、データベースへの接続に役立ちます。
UI の 参照 機能は、コンソールではサポートされていません。
WINDOWS 認証とポート パラメーターは、SQL Azure に接続するときに適用されません。
「スクリプト ファイルの作成」の詳細については、「 スクリプト ファイルの作成 (MySQLToSQL)」を参照してください。
命令
接続元データベース
ソース データベースへの接続を実行し、ソース データベースの高度なメタデータを読み込みますが、すべてのメタデータを読み込むわけではありません。
ソースへの接続を確立できない場合は、エラーが生成され、コンソール アプリケーションはそれ以降の実行を停止します
スクリプト
サーバー定義は、サーバー接続ファイルまたはスクリプト ファイルのサーバー セクションの接続ごとに定義された名前属性から取得されます。
構文の例:
<connect-source-database server="<server-unique-name>"/>
命令
強制ロード元/対象データベース
ソース メタデータを読み込みます。
移行プロジェクトをオフラインで作業する場合に便利です。
ソース/ターゲットへの接続を確立できない場合は、エラーが生成され、コンソール アプリケーションはそれ以降の実行を停止します
スクリプト
コマンド ライン パラメーターとして 1 つまたは複数のメタベース ノードが必要です。
構文の例:
<force-load metabase="<source/target>"
<metabase-object object-name="<object-name>"/>
</force-load>
命令
ソースデータベースを再接続する
ソース データベースに再接続しますが、connect-source-database コマンドとは異なり、メタデータは読み込まれません。
ソースとの (再) 接続を確立できない場合は、エラーが生成され、コンソール アプリケーションはそれ以降の実行を停止します。
スクリプト
構文の例:
<reconnect-source-database server="<server-unique-name>"/>
命令
ターゲットデータベースに接続する
ターゲット SQL Server または Azure SQL Database に接続し、メタデータ全体ではなく、ターゲット データベースの高度なメタデータを読み込みます。
ターゲットへの接続を確立できない場合は、エラーが生成され、コンソール アプリケーションはそれ以降の実行を停止します。
スクリプト
サーバー定義は、サーバー接続ファイルまたはスクリプト ファイルのサーバー セクションの接続ごとに定義された名前属性から取得されます
構文の例:
<connect-target-database server="<server-unique-name>"/>
命令
ターゲットデータベースを再接続する
connect-target-database コマンドとは異なり、ターゲット データベースに再接続しますが、メタデータは読み込まれません。
ターゲットへの (再) 接続を確立できない場合は、エラーが生成され、コンソール アプリケーションはそれ以降の実行を停止します。
スクリプト
構文の例:
<reconnect-target-database server="<server-unique-name>"/>
レポート スクリプト ファイルのコマンド
レポート コマンドは、さまざまな SSMA コンソール アクティビティのパフォーマンスに関するレポートを生成します。
命令
評価レポートを生成する
ソース データベースの評価レポートを生成します。
このコマンドを実行する前にソース データベース接続が実行されていない場合は、エラーが生成され、コンソール アプリケーションが終了します。
コマンドの実行中にソース データベース サーバーに接続できないと、コンソール アプリケーションも終了します。
スクリプト
assessment-report-folder:
評価レポートが格納されるフォルダーを指定します。(省略可能な属性)object-name:
評価レポートの生成で考慮されるオブジェクトを指定します (個々のオブジェクト名またはグループ オブジェクト名を指定できます)。object-type:
は、object-name 属性で指定されたオブジェクト型を指定します (オブジェクト カテゴリが指定されている場合、オブジェクト型は "category" になります)。assessment-report-overwrite:
評価レポート フォルダーが既に存在する場合に上書きするかどうかを指定します。既定値: false。 (省略可能な属性)
write-summary-report-to:
要約レポートを生成するパスを指定します。フォルダー パスのみが指定されている場合は、 AssessmentReport<n>.XML という名前でファイルが作成されます。 (省略可能な属性)
レポートの作成には、さらに 2 つのサブカテゴリがあります。
report-errors
(="true/false", デフォルトは "false" の場合 (省略可能な属性))verbose
(="true/false", デフォルトは "false" の場合 (省略可能な属性))
構文の例:
<generate-assessment-report
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
又は
<generate-assessment-report
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</generate-assessment-report>
移行スクリプト ファイルのコマンド
移行コマンドは、ターゲット データベース スキーマをソース スキーマに変換し、データをターゲット サーバーに移行します。
移行コマンドの既定のコンソール出力設定は "Full" 出力レポートで、詳細なエラー 報告はありません。ソース オブジェクト ツリーのルート ノードの概要のみ。
命令
コンバートスキーマ
ソースからターゲット スキーマへのスキーマ変換を実行します。
このコマンドを実行する前にソースまたはターゲットのデータベース接続が実行されていない場合、またはコマンドの実行中にソースまたはターゲット データベース サーバーへの接続が失敗した場合は、エラーが生成され、コンソール アプリケーションが終了します。
スクリプト
conversion-report-folder:
評価レポートが格納されるフォルダーを指定します。(省略可能な属性)object-name:
スキーマの変換を検討するオブジェクトを指定します (個々のオブジェクト名またはグループ オブジェクト名を指定できます)。object-type:
は、object-name 属性で指定されたオブジェクト型を指定します (オブジェクト カテゴリが指定されている場合、オブジェクト型は "category" になります)。conversion-report-overwrite:
評価レポート フォルダーが既に存在する場合に上書きするかどうかを指定します。既定値: false。 (省略可能な属性)
write-summary-report-to:
要約レポートを生成するパスを指定します。フォルダー パスのみが指定されている場合は、 SchemaConversionReport<n>.XML という名前でファイルが作成されます。 (省略可能な属性)
サマリー レポートの作成には、さらに 2 つのサブカテゴリがあります。
report-errors
(="true/false", デフォルトは "false" の場合 (省略可能な属性))verbose
(="true/false", デフォルトは "false" の場合 (省略可能な属性))
構文の例:
<convert-schema
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
又は
<convert-schema
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
<metabase-object object-name="<object-names>"
object-type="<object-category>"/>
</convert-schema>
命令
データを移行する
- ソースからターゲットにデータを移行します。
スクリプト
object-name:
データの移行を検討するソース オブジェクトを指定します (個々のオブジェクト名またはグループ オブジェクト名を持つことができます)。object-type:
は、object-name 属性で指定されたオブジェクト型を指定します (オブジェクト カテゴリが指定されている場合、オブジェクト型は "category" になります)。write-summary-report-to:
要約レポートを生成するパスを指定します。フォルダー パスのみが指定されている場合は、 DataMigrationReport<n>.XML という名前でファイルが作成されます。 (省略可能な属性)
レポートの作成には、さらに 2 つのサブカテゴリがあります。
report-errors
(="true/false", デフォルトは "false" の場合 (省略可能な属性))verbose
(="true/false", デフォルトは "false" の場合 (省略可能な属性))
構文の例:
<migrate-data
write-summary-report-to="<file-name/folder-name>"
report-errors="true" verbose="true">
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<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>
又は
<migrate-data
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>"
report-errors="true" verbose="true"/>
移行準備スクリプト ファイル コマンド
移行準備コマンドは、ソース データベースとターゲット データベース間のスキーマ マッピングを開始します。
命令
マップ・スキーマ
ソース データベースからターゲット スキーマへのスキーマ マッピング。
スクリプト
source-schema
は、移行するソース スキーマを指定します。sql-server-schema
は、移行するターゲット スキーマを指定します。
構文の例:
<map-schema
source-schema="<source-schema>"
sql-server-schema="<target-schema>"/>
管理容易性スクリプト ファイルのコマンド
Manageability コマンドは、ターゲット データベース オブジェクトをソース データベースと同期するのに役立ちます。
注
移行コマンドの既定のコンソール出力設定は "Full" 出力レポートで、詳細なエラー 報告はありません。ソース オブジェクト ツリーのルート ノードの概要のみ。
命令
同期対象
ターゲット オブジェクトをターゲット データベースと同期します。
ソース データベースに対してこのコマンドを実行すると、エラーが発生します。
このコマンドを実行する前にターゲット データベース接続が実行されなかった場合、またはコマンドの実行中にターゲット データベース サーバーへの接続が失敗した場合は、エラーが生成され、コンソール アプリケーションが終了します。
スクリプト
object-name:
ターゲット データベースとの同期を検討するオブジェクトを指定します (個々のオブジェクト名またはグループ オブジェクト名を持つことができます)。object-type:
は、object-name 属性で指定されたオブジェクト型を指定します (オブジェクト カテゴリが指定されている場合、オブジェクト型は "category" になります)。on-error:
同期エラーを警告またはエラーとして指定するかどうかを指定します。 エラー時に使用できるオプション:合計を警告として報告する
各項目を警告として報告する
フェイルスクリプト
report-errors-to:
フォルダー パスのみを指定し、TargetSynchronizationReport.XML という名前のファイルを作成する場合に、同期操作のエラー レポートの場所 (オプションの属性) を指定します。
構文の例:
<synchronize-target
object-name="<object-name>"
on-error="<report-total-as-warning/
report-each-as-warning/
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
又は
<synchronize-target
object-name="<object-name>"
object-type="<object-category>"/>
又は
<synchronize-target>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
</synchronize-target>
命令
データベースからリフレッシュ
データベースのソース オブジェクトを更新します。
このコマンドがターゲット データベースに対して実行されると、エラーが生成されます。
スクリプト
object-name:
ソース データベースから更新対象と見なされるソース オブジェクトを指定します (個々のオブジェクト名またはグループ オブジェクト名を持つことができます)。object-type:
オブジェクト名属性で指定されたオブジェクトの型を指定します (オブジェクト カテゴリが指定されている場合、オブジェクトの種類は "category" になります)。on-error:
同期エラーを警告またはエラーとして指定するかどうかを指定します。 エラー時に使用できるオプション:合計を警告として報告する
各項目を警告として報告する
フェイルスクリプト
report-errors-to:
同期操作のエラー レポートの場所を指定します(省略可能な属性)。フォルダー パスのみが指定されている場合、SourceDBRefreshReport.XMLという名前のファイルが作成されます。
コマンド ライン パラメーターとして 1 つまたは複数のメタベース ノードが必要です。
構文の例:
<refresh-from-database
object-name="<object-name>"
on-error="<report-total-as-warning/
report-each-as-warning/
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
又は
<refresh-from-database
object-name="<object-name>"
object-type="<object-category>"/>
又は
<refresh-from-database>
<metabase-object object-name="<object-name>"/>
</refresh-from-database>
スクリプト生成スクリプト ファイルのコマンド
スクリプト生成コマンドは、2 つのタスクを実行します。これらのタスクは、コンソール出力をスクリプト ファイルに保存するのに役立ち、指定したパラメーターに基づいてコンソールまたはファイルに T-SQL 出力を記録します。
命令
スクリプトとして保存
metabase=target のときに言及されたファイルにオブジェクトのスクリプトを保存するために使用されます。これは同期コマンドの代わりに、スクリプトを取得し、ターゲットデータベースで同じものを実行します。
スクリプト
コマンド ライン パラメーターとして 1 つまたは複数のメタベース ノードが必要です。
object-name:
スクリプトを保存するオブジェクトを指定します。 (個々のオブジェクト名またはグループ オブジェクト名を持つことができます)object-type:
は、object-name 属性で指定されたオブジェクト型を指定します (オブジェクト カテゴリが指定されている場合、オブジェクト型は "category" になります)。metabase:
ソースメタベースかターゲットメタベースかを指定します。destination:
スクリプトを保存する必要があるパスまたはフォルダーを指定します。ファイル名が指定されていない場合は、ファイル名を形式 (object_name 属性値) で指定します。overwrite:
がtrue で、同じファイル名が存在する場合は上書きされます。 値 (true/false) を指定できます。
構文の例:
<save-as-script
metabase="<source/target>"
object-name="<object-name>"
object-type="<object-category>"
destination="<file-name/folder-name>"
overwrite="<true/false>" (optional)
/>
又は
<save-as-script
metabase="<source/target>"
destination="<file-name/folder-name>"
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</save-as-script>
命令
SQLステートメントを変換
context
は、スキーマ名を指定します。destination
は、出力をファイルに格納するかどうかを指定します。この属性が指定されていない場合は、変換された T-SQL ステートメントがコンソールに表示されます。 (省略可能な属性)
conversion-report-folder
は、評価レポートが格納されているフォルダーを指定します。(省略可能な属性)conversion-report-overwrite
は、評価レポート フォルダーが既に存在する場合に上書きするかどうかを指定します。既定値: false。 (省略可能な属性)
write-converted-sql-to
は、変換された T-SQL が格納されるファイル (または) フォルダーのパスを指定します。sql-files
属性と共にフォルダー パスを指定すると、各ソース ファイルには、指定したフォルダーの下に対応するターゲット T-SQL ファイルが作成されます。sql
属性と共にフォルダー パスを指定すると、変換された T-SQL は、指定したフォルダーの下にある Result.out という名前のファイルに書き込まれます。sql
は、変換する MySQL sql ステートメントを指定します。1 つ以上のステートメントを ";" を使用して区切ることができますsql-files
は、T-SQL コードに変換する必要がある SQL ファイルのパスを指定します。write-summary-report-to
は、概要レポートが生成されるパスを指定します。 フォルダー パスのみが指定されている場合は 、名前ConvertSQLReport.XML でファイルが作成されます。 (省略可能な属性)レポートの作成には、さらに 2 つのサブカテゴリ (...) があります。
report-errors (="true/false"、既定値は "false"(省略可能な属性))。
verbose(="true/false"。デフォルトは"false"。属性は省略可能です)。
スクリプト
コマンド ライン パラメーターとして 1 つまたは複数のメタベース ノードが必要です。
構文の例:
<convert-sql-statement
context="<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
destination="stdout/file" (optional)
write-converted-sql-to="<file-name/folder-name>"
sql="SELECT 1 FROM DUAL;">
<output-window suppress-messages="<true/false>" />
</convert-sql-statement>
又は
<convert-sql-statement
context="<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
destination="<stdout/file>" (optional)
write-converted-sql-to="<file-name/folder-name>"
sql-files="<folder-name>\*.sql"
/>
又は
<convert-sql-statement
context="<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
sql-files="<folder-name>\*.sql"
/>
次の手順
コマンド ライン オプションの詳細については、 SSMA コンソール (MySQLToSQL) のコマンド ライン オプション を参照してください。
サンプル コンソール スクリプト ファイルの詳細については、「サンプル コンソール スクリプト ファイルの操作 (MySQLToSQL)」を参照してください。
次の手順は、プロジェクトの要件によって異なります。
パスワードの指定またはパスワードのエクスポート/インポートについては、「 パスワードの管理 (MySQLToSQL)」を参照してください。
レポートの生成については、「 レポートの生成 (MySQLToSQL)」を参照してください。
コンソールでの問題のトラブルシューティングについては、「 トラブルシューティング (MySQLToSQL)」を参照してください。