SSMA コンソールの実行 (AccessToSQL)
マイクロソフトでは、SQL Server Migration Assistant (SSMA) アクティビティを実行および制御するための堅牢なスクリプト ファイル コマンドやコマンド ライン オプションのセットを提供しています。 その後のセクションの詳細は同じです。
プロジェクト スクリプト ファイルのコマンド
プロジェクト コマンドは、プロジェクトの作成、開く、保存、および終了を処理します。
create-new-project
新しい SSMA プロジェクトを作成します。
Attribute | 規定値 | 説明 | Type |
---|---|---|---|
project-folder |
なし | 作成されるプロジェクトのフォルダーを示します。 | String |
project-name |
なし | プロジェクトの名前を示します。 | String |
overwrite-if-exists |
false |
オプションの属性は、既存のプロジェクトを上書きするかどうかを指定します。 | Boolean |
project-type |
sql-server-2008 |
省略可能な属性です。 project-type では次のオプションを選択できます。sql-server-2005 sql-server-2008 sql-server-2012 sql-server-2014 sql-server-2016 sql-azure |
String |
構文の例
<create-new-project
project-folder="<project-folder>"
project-name="<project-name>"
overwrite-if-exists="<true | false>"
project-type="<project-type>"
/>
open-project
既存のプロジェクトを開きます。
Attribute | 規定値 | 説明 | Type |
---|---|---|---|
project-folder |
なし | 作成されるプロジェクトのフォルダーを示します。 指定したフォルダーが存在しない場合、コマンドは失敗します。 | String |
project-name |
なし | プロジェクトの名前を示します。 指定したプロジェクトが存在しない場合、コマンドは失敗します。 | String |
構文の例
<open-project
project-folder="<project-folder>"
project-name="<project-name>"
/>
Note
SSMA For Access Console アプリケーションでは、下位互換性がサポートされています。 以前のバージョンの SSMA によって作成されたプロジェクトを開くことができます。
save-project
移行プロジェクトを保存します。
構文の例
<save-project/>
close-project
移行プロジェクトを閉じます。
Attribute | 規定値 | 説明 | Type |
---|---|---|---|
if-modified |
ignore |
ビヘイビアーを指定する省略可能な属性。 有効な値は save 、error 、ignore です。 |
String |
構文の例
<close-project
if-modified="<save/error/ignore>" (optional)
/>
属性 'if-modified' はオプションであり、既定では無視されます。
データベース接続スクリプト ファイルのコマンド
データベース接続コマンドは、データベースへの接続に役立ちます。
UI の [Browse] (参照) 機能は、コンソールではサポートされていません。
WINDOWS 認証とポート パラメーターは、SQL Azure に接続するときに適用されません。
詳しくは、「スクリプト ファイルの作成 (AccessToSQL)」を参照してください。
connect-source-database
ソース データベースへの接続を実行し、ソース データベースの高レベルのメタデータを読み込みますが、すべてのメタデータを読み込むわけではありません。
ソースとの 接続を確立できない場合は、エラーが生成され、コンソール アプリケーションはそれ以降の実行を停止します。
server
定義は、サーバー接続ファイルまたはスクリプト ファイルの server
セクションの接続ごとに定義された名前の属性から取得されます。
構文の例
<connect-source-database server="<server-unique-name>"/>
load-access-database
データベース ファイルへのアクセスを読み込む場合に使用します。
Attribute | 規定値 | 説明 | Type |
---|---|---|---|
database-file |
なし | データベースへのアクセスのパスを指定します。 | String |
構文の例
<load-access-database database-file="<Access-database>"/>
-または-
<load-access-database>
<access-database database-file="<Access-database1>"/>
<access-database database-file="<Access-database2>"/>
</load-access-database>
force-load
ソースまたはターゲット データベース
ソース メタデータを読み込みます。 移行プロジェクトをオフラインで作業する場合に便利です。
ソースまたはターゲットへの接続を確立できない場合は、エラーが生成され、コンソール アプリケーションはそれ以降の実行を停止します。
コマンド ライン パラメーターとして 1 以上の metabase
ノードが必要です。
Attribute | 規定値 | 説明 | Type |
---|---|---|---|
object-name |
なし | オブジェクトの名前を指定します。 | String |
metabase |
なし | データベースへのアクセスのパスを指定します。 可能な値は source または target です。 |
String |
構文の例
<force-load
object-name="<object-name>"
metabase="<source/target>"/>
-または-
<force-load>
<metabase-object object-name="<object-name>"/>
</force-load>
reconnect-source-database
ソース データベースに再接続しますが、connect-source-database コマンドとは異なり、メタデータは読み込まれません。
ソースとの (再) 接続を確立できない場合は、エラーが生成され、コンソール アプリケーションはそれ以降の実行を停止します。
server
定義は、サーバー接続ファイルまたはスクリプト ファイルの server
セクションの接続ごとに定義された名前の属性から取得されます。
構文の例
<reconnect-source-database server="<server-unique-name>"/>
connect-target-database
ターゲット SQL Server またはSQL Azure データベースに接続し、ターゲット データベースの高レベルのメタデータを読み込みますが、メタデータ全体は読み込まれません。
ターゲットへの接続を確立できない場合は、エラーが生成され、コンソール アプリケーションはそれ以降の実行を停止します。
server
定義は、サーバー接続ファイルまたはスクリプト ファイルの server
セクションの接続ごとに定義された名前の属性から取得されます。
構文の例
<connect-target-database server="<server-unique-name>"/>
reconnect-target-database
ターゲット データベースに再接続しますが、connect-target-database コマンドとは異なり、メタデータは読み込まれません。
ターゲットへの (再) 接続を確立できない場合は、エラーが生成され、コンソール アプリケーションはそれ以降の実行を停止します。
server
定義は、サーバー接続ファイルまたはスクリプト ファイルの server
セクションの接続ごとに定義された名前の属性から取得されます。
構文の例
<reconnect-target-database server="<server-unique-name>"/>
レポート スクリプト ファイルのコマンド
レポート コマンドは、さまざまな SSMA コンソール アクティビティのパフォーマンスに関するレポートを生成します。
generate-assessment-report
ソース データベースの評価レポートを生成します。
このコマンドを実行する前にソース データベース接続が実行されていない場合は、エラーが生成され、コンソール アプリケーションが終了します。
コマンドの実行中にソース データベース サーバーへの接続に失敗すると、コンソール アプリケーションも終了します。
スクリプト
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="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)
/>
-または-
<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>
移行スクリプト ファイルのコマンド
移行コマンドは、ターゲット データベース スキーマをソース スキーマに変換し、データをターゲット サーバーに移行します。
移行コマンドの既定のコンソール出力設定は "Full" 出力レポートで、詳細なエラー 報告はなく、ソース オブジェクト ツリーのルート ノードの概要のみです。
convert-schema
ソースからターゲット スキーマへのスキーマ変換を実行します。
このコマンドを実行する前にソースまたはターゲットのデータベース接続が実行されていない場合、またはコマンドの実行中にソースまたはターゲット データベース サーバーへの接続が失敗した場合は、エラーが生成され、コンソール アプリケーションが終了します。
スクリプト
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="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)
/>
-または-
<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
ソースからターゲットにデータを移行します。
スクリプト
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="<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>
-または-
<migrate-data
object-name="ssma.Tables"
object-type="category"
write-summary-report-to="<filepath/folder>"
report-errors="true" verbose="true"/>
link-tables
このコマンドは、ソース (アクセス) テーブルをターゲット テーブルにリンクします。
スクリプト
構文の例
<link-tables>
<metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
<metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</link-tables>
-または-
<link-tables>
<metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</link-tables>
unlink-tables
このコマンドは、ターゲット テーブルからソース (アクセス) テーブルのリンクを解除します。
スクリプト
構文の例:
<unlink-tables>
<metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
<metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</unlink-tables>
-または-
<unlink-tables>
<metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</unlink-tables>
移行準備スクリプト ファイル のコマンド
移行準備コマンドは、ソース データベースとターゲット データベース間のスキーマ マッピングを開始します。
map-schema
ソース データベースからターゲット スキーマへのスキーマ マッピング。
スクリプト
source-schema
は、移行するソース スキーマを指定します。sql-server-schema
は、移行するターゲット スキーマを指定します。
構文の例
<map-schema source-schema="source-schema"
sql-server-schema="target-schema"/>
管理容易性コマンド
管理容易性コマンドは、ターゲット データベース オブジェクトをソース データベースと同期するのに役立ちます。
移行コマンドの既定のコンソール出力設定は "Full" 出力レポートで、詳細なエラー 報告はなく、ソース オブジェクト ツリーのルート ノードの概要のみです。
synchronize-target
ターゲット オブジェクトをターゲット データベースと同期します。 ソース データベースに対してこのコマンドを実行すると、エラーが発生します。
このコマンドを実行する前にターゲット データベース接続が実行されなかった場合、またはコマンドの実行中にターゲット データベース サーバーへの接続が失敗した場合は、エラーが生成され、コンソール アプリケーションが終了します。
スクリプト
object-name
は、ターゲット データベースとの同期を検討するターゲット オブジェクトを指定します (個々のオブジェクト名またはグループ オブジェクト名を指定できます)。object-type
は、object-name 属性で指定されたオブジェクト型を指定します (オブジェクト カテゴリが指定されている場合、オブジェクト型はcategory
になります)。on-error
は、同期エラーを警告またはエラーとして指定するかどうかを指定します。 on-error で使用できるオプション:- report-total-as-warning
- report-each-as-warning
- fail-script
report-errors-to
は、フォルダー パスのみを指定し、TargetSynchronizationReport.XML という名前のファイルを作成する場合に、同期操作のエラー レポートの場所 (オプションの属性) を指定します。
構文の例
<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)
/>
-または-
<synchronize-target
object-name="ssma.dbo.Procedures"
object-type="category"/>
-または-
<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
データベースのソース オブジェクトを更新します。 このコマンドがターゲット データベースに対して実行されると、エラーが生成されます。
スクリプト
コマンド ライン パラメーターとして 1 つまたは複数のメタベース ノードが必要です。
object-name
は、ソース データベースから、更新対象と見なされるソース オブジェクトを指定します (個々のオブジェクト名またはグループ オブジェクト名を指定できます)。object-type
は、object-name 属性で指定されたオブジェクト型を指定します (オブジェクト カテゴリが指定されている場合、オブジェクト型はcategory
になります)。on-error
は、更新エラーを警告またはエラーとして指定するかどうかを指定します。 on-error で使用できるオプション:report-total-as-warning
report-each-as-warning
fail-script
report-errors-to
は、フォルダー パスのみを指定し、SourceDBRefreshReport.XML という名前のファイルを作成する場合に、更新操作のエラー レポートの場所 (オプションの属性) を指定します。
構文の例
<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)
/>
-または-
<refresh-from-database
object-name="ssma.Procedures"
object-type="category"/>
-または-
<refresh-from-database>
<metabase-object object-name="ssma.TT_1"/>
</refresh-from-database>
スクリプト生成スクリプト ファイルのコマンド
スクリプト生成コマンドは、コンソール出力をスクリプト ファイルに保存するのに役立ちます。
save-as-script
metabase=target のときに指定されたファイルにオブジェクトのスクリプトを保存するために使用されます。これは同期コマンドの代わりに、スクリプトを取得し、ターゲットデータベースで同じように実行します。
スクリプト
コマンド ライン パラメーターとして 1 つまたは複数のメタベース ノードが必要です。
object-name
は、スクリプトを保存するオブジェクトを指定します。 (個々のオブジェクト名またはグループ オブジェクト名を指定できます)。object-type
は、object-name
属性で指定されたオブジェクト型を指定します。 オブジェクト カテゴリが指定されている場合、オブジェクト型はcategory
です。metabase
は、ソース メタベースかターゲット メタベースかを指定します。destination
は、スクリプトを保存する必要があるパスまたはフォルダーを指定します。 ファイル名が指定されていない場合は、(object_name attribute value
) 形式のファイル名を指摘できます。overwrite
がtrue
で、同じファイル名が存在する場合は上書きされます。 指定できる値は、true
/false
です。
構文の例
<save-as-script
metabase="<source/target>"
object-name="ssma.dbo.Procedures"
object-type="category"
destination="<file/folder>"
overwrite="<true/false>" (optional)
/>
-または-
<save-as-script
metabase="<source/target>"
destination="<file/folder>"
>
<metabase-object object-name="ssma.dbo.Procedures"
object-type="category"/>
</save-as-script>