次の方法で共有


変換されたデータベース オブジェクトを SQL Server に読み込む (OracleToSQL)

Oracle スキーマを SQL Server に変換した後、結果のデータベース オブジェクトを SQL Server に読み込むことができます。 Microsoft SQL Server Migration Assistant (SSMA) for Oracle では、オブジェクトを作成することも、オブジェクトのスクリプトを作成してスクリプトを自分で実行することもできます。 また、SSMA を使用して、SQL Server データベースの実際の内容でターゲット メタデータを更新することもできます。

同期とスクリプトの選択

変換されたデータベース オブジェクトを変更せずに SQL Server に読み込む場合、SSMA はデータベース オブジェクトを直接作成または再作成できます。 このメソッドはすばやく簡単ですが、ストアド プロシージャ以外の SQL Server オブジェクトを定義する Transact-SQL コードをカスタマイズすることはできません。

オブジェクトの作成に使用する Transact-SQL を変更する場合、またはオブジェクトの作成をより詳細に制御する場合は、SSMA を使用してスクリプトを作成します。 その後、これらのスクリプトを変更したり、各オブジェクトを個別に作成したり、SQL Server エージェントを使用してそれらのオブジェクトの作成をスケジュールしたりできます。

SSMA を使用してオブジェクトを SQL Server と同期する

SSMA を使用して SQL Server データベース オブジェクトを作成するには、次の手順に示すように、SQL Server メタデータ エクスプローラーでオブジェクトを選択し、オブジェクトを SQL Server と同期します。 既定では、オブジェクトが SQL Server に既に存在し、SSMA メタデータが SQL Server のオブジェクトよりも新しい場合、SSMA は SQL Server のオブジェクト定義を変更します。 [Project Settings] (プロジェクト設定) を編集して既定のビヘイビアーを変更できます。

Oracle データベースから変換されなかった既存の SQL Server データベース オブジェクトを選択できます。 ただし、これらのオブジェクトは SSMA によって再作成または変更されません。

  1. SQL Server メタデータ エクスプローラーで、SQL Server の最上位ノードを展開し、[Databases] (データベース) を展開します。

  2. 処理するオブジェクトを選択します。

    • データベース全体を同期するには、データベース名の横にあるチェック ボックスをオンにします。

    • オブジェクトの個々のオブジェクトまたはカテゴリを同期または省略するには、オブジェクトまたはフォルダーの横にあるチェック ボックスをオンまたはオフにします。

  3. SQL Server メタデータ エクスプローラーで処理するオブジェクトを選択したら、[ データベース] を右クリックし、[ データベースと同期] を選択します。

    個々のオブジェクトまたはオブジェクトのカテゴリを同期することもできます。 オブジェクトまたはその親フォルダーを右クリックし、[ データベースと同期] を選択します。

    その後、SSMA に [Synchronize with Database] (データベースとの同期) ダイアログが表示され、2 つの項目グループが表示されます。 SSMA の左側には、選択したデータベース オブジェクトがツリーで表されます。 右側には、SSMA メタデータ内の同じオブジェクトを表すツリーが表示されます。 ツリーを展開する場合は、右または左の + ボタンを選択します。 同期の方向は、2 つのツリーの間にある [アクション ] 列に表示されます。

    操作記号には、次の 3 つの状態があります。

    • 左矢印は、メタデータの内容がデータベースに保存されていることを意味します (既定)。

    • 右矢印は、データベースの内容によって SSMA メタデータが上書きされるという意味です。

    • クロス サインは、アクションが実行されていないことを意味します。

状態を変更するには、アクション 記号を選択します。 [データベースとの同期] ダイアログで [OK] ボタンを選択すると、実際の同期が実行されます。

オブジェクトをスクリプト化する

変換されたデータベース オブジェクトの Transact-SQL 定義を保存したり、オブジェクト定義を変更してスクリプトを自分で実行したりするには、変換されたデータベース オブジェクト定義を Transact-SQL スクリプトに保存します。 手順は次のとおりです。

  1. スクリプトに保存するオブジェクトを選択したら、[ データベース] を右クリックし、[ スクリプトとして保存] を選択します。

    個々のオブジェクトまたはオブジェクトのカテゴリをスクリプト化することもできます。 オブジェクトまたはその親フォルダーを右クリックし、[ スクリプトとして保存] を選択します。

  2. [ 名前を付けて保存 ] ダイアログで、スクリプトを保存するフォルダーを探し、[ファイル名] ボックスにファイル を入力して、[ OK] を選択します。 SSMA によって、.sqlファイル名拡張子が追加されます。

スクリプトを変更する

SQL Server オブジェクト定義を 1 つ以上のスクリプトとして保存した後、SQL Server Management Studio を使用してスクリプトを表示および変更できます。 手順は次のとおりです。

  1. [SQL Server Management Studio ファイル ] メニューの [ 開く] をポイントし、[ファイル] を選択 します

  2. [ 開く ] ダイアログで、スクリプト ファイルを選択し、[ OK] を選択します。

  3. クエリ エディターを使用してスクリプト ファイルを編集します。

  4. スクリプトを保存するには、[ファイル] メニューの [保存] を選択します。

スクリプトを実行する

SQL Server Management Studio では、スクリプトまたは個々のステートメントを実行できます。 手順は次のとおりです。

  1. [SQL Server Management Studio ファイル ] メニューの [ 開く] をポイントし、[ファイル] を選択 します

  2. [ 開く ] ダイアログで、スクリプト ファイルを選択し、[ OK] を選択します。

  3. 完全なスクリプトを実行するには、 F5 キーを選択します。

  4. ステートメントのセットを実行するには、クエリ エディター ウィンドウでステートメントを選択し、F5 キーを押します。

クエリ エディターを使用してスクリプトを実行する方法の詳細については、SQL Server オンライン ブックの「SQL Server Management Studio Transact-SQL クエリ」を参照してください。

sqlcmd ユーティリティと SQL Server エージェントを使用して、コマンド ラインからスクリプトを実行することもできます。 sqlcmd の詳細については、 SQL Server オンライン ブックの「sqlcmd ユーティリティ」を参照してください。 SQL Server エージェントの詳細については、 SQL Server オンライン ブックの「管理タスクの自動化 (SQL Server Agent)」を参照してください。

SQL Server でのオブジェクトのセキュリティ保護

変換されたデータベース オブジェクトを SQL Server に読み込んだ後、それらのオブジェクトに対するアクセス許可を付与および拒否できます。 SQL Server にデータを移行する前に、このアクションを実行することをお勧めします。 SQL Server でオブジェクトをセキュリティで保護する方法については、SQL Server オンライン ブックの「データベースとデータベース アプリケーションのセキュリティに関する考慮事項」を参照してください。

次のステップ