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

Oracle スキーマを SQL Server に変換したら、結果のデータベース オブジェクトを SQL Server に読み込むことができます。 SSMA でオブジェクトを作成することも、オブジェクトのスクリプトを作成してスクリプトを自分で実行することもできます。 また、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 によって再作成または変更されません。

オブジェクトを SQL Server と同期するには

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

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

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

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

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

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

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

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

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

    • 右方向キーは、データベースの内容によって SSMA メタデータが上書きされることを意味します。

    • 十字サインは、何も行われないことを意味します。

操作記号をクリックして状態を変更します。 [Synchronize with Database] (データベースとの同期) ダイアログの [OK] ボタンをクリックすると、実際の同期が実行されます。

オブジェクト スクリプト作成

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

オブジェクトをスクリプトとして保存するには

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

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

  2. [Save As] (名前を付けて保存) ダイアログ ボックスで、スクリプトを保存するフォルダーを探し、[File name] (ファイル名) ボックスにファイル名を入力して、[OK] をクリックします。

スクリプトの変更

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

スクリプトを変更するには

  1. SQL Server Management Studio で、[File] (ファイル) メニューの [Open] (開く) をポイントし、[File] (ファイル) をクリックします。

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

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

    クエリ エディターについての詳細は、SQL Server オンライン ブックの「エディターの便利なコマンドと機能」を参照してください。

  4. スクリプトを保存するには、[File] (ファイル) メニューで [Save] (保存) をクリックします。

スクリプトの実行

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

スクリプトを実行するには

  1. SQL Server Management Studio で、[File] (ファイル) メニューの [Open] (開く) をポイントし、[File] (ファイル) をクリックします。

  2. [Open] (開く) ダイアログ ボックスでスクリプト ファイルを選択し、[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 オンライン ブックの「データベースとデータベース アプリケーションのセキュリティに関する考慮事項」を参照してください。

次の手順

移行プロセスの次の手順は、SQL Server にデータを移行することです。

参照

SQL Server への Oracle のデータの移行 (OracleToSQL)