クラウドエンジニアブログ

データ移行ツールいろいろ~ SQL Server Migration Assistant(アセスメント編)

human05

古林

みなさまこんにちは。クラウドアーキテクトの卵です。
(前回から、ちょっと期間が開いてしまいました。。。)

みなさまは「子供の頃の夢」を覚えていますか?
私の子供の頃の夢は、弁護士になることでした。きっかけは全然何てことないことで、学校の先生に「お前は口が立つから、弁護士になったらどうだ?給料も高いぞ!」と言われたから、というものでした。

いろいろあって、現在ではクラウドアーキテクトという全然違う職に就いていますが、それなりに楽しくやっています。
部屋の片づけをしていた際にひょっこり出てきた卒業アルバムを見て、ぼんやりそんなことを思った休日の午後の 1 コマでした。



<目次>
  1. はじめに
  2. SQL Server Migration Assistant の概要
  3. SQL Server Migration Assistant の操作(アセスメント編)
  4. おわりに



「Microsoft Azure の導入・構築・運用」に関する資料請求・お問い合わせはこちら


1.はじめに

第 4 回目は、SQL Server 系以外のデータベース(Oracle、MySQL、PostgreSQL、等)から IaaS の SQL Server、もしくは、SQL Database への移行を行う際のアセスメント・移行を実施できる SQL Server Migration Assistant を紹介します。

今回は IaaS で立てた Oracle 11g を SQL Database にマイグレーションを実施する前段階として、SQL Server Migration Assistant を利用してアセスメントを行ってみました。
(本当はオンプレミス環境として Oracle 11g を立てたかったのですが、手頃な環境がなかったので IaaS にしています。)


<環境構成>

環境構成


2.SQL Server Migration Assistant の概要

SQL Server Migration Assistant は SQL Server 系以外のデータベースと SQL Server 系データベース間のマイグレーションや移行に使用されるツールです。第 2 回、第 3 回で紹介した Data Migration Assistant が SQL Server 系データベース間を対象としたツールなので、SQL Server Migration Assistant はその兄弟版だと思っていただけたら分かりやすいかと思います。
SQL Server Migration Assistant も Data Migration Assistant と同様、大きく分けてアセスメント機能と移行機能を有しています。

アセスメント機能は、環境の分析を行い、移行に伴い変更がある機能や互換性レベル変更の影響の検出と推奨事項・代替方法のガイダンスを行います。また、新環境の推奨情報も確認することができます。(全て英語ですが…。)
移行機能は、アセスメント結果に問題がない場合に、移行元データベースから移行先データベースへの移行を行います。

現状、対象のデータベースは移行元・移行先ともに、以下のバージョンがサポートされています。

<対象バージョン>

SQL Server Migration Assistant の概要


3.SQL Server Migration Assistant の操作(アセスメント編)

それでは、早速 SQL Server Migration Assistant を使ってみましょう。
まずは SQL Server Migration Assistant をダウンロードして、インストールを行います。移行元のデータベースごとにインストーラーが分かれているので注意してください。
今回は Oracle 版をインストールします。

【参考:Microsoft ダウンロード センター(Microsoft SQL Server Migration Assistant 8.1 for Oracle)】
https://www.microsoft.com/en-us/download/details.aspx?id=54258


インストールは 4 ステップほどで完了します。セットアップのタイプを選ぶ部分があるのですが、今回は Docs に従って「Typical」(標準)を選択してインストールしました。

【参考:SSMA for Oracle クライアントのインストール (OracleToSQL)】
https://docs.microsoft.com/ja-jp/sql/ssma/oracle/installing-ssma-for-oracle-client-oracletosql?view=sql-server-2017


インストールが完了したら、まずはアセスメントを実施します。

【参考:SQL Server Migration Assistant を使った Linux 上の SQL Server 2017 への Oracle スキーマを移行します。】
https://docs.microsoft.com/ja-jp/sql/ssma/oracle/sql-server-linux-convert-from-oracle?view=sql-server-2017



<アセスメント操作の流れ>

  1. アセスメントプロジェクトを作成
  2. アセスメントを実施したいデータベースの指定
  3. 結果の表示


1.アセスメントプロジェクトを作成

SQL Server Migration Assistant を起動し、「New Project」をクリックします。

アセスメントプロジェクトを作成1


プロジェクトを作成します。
以下の内容を入力し、「OK」ボタンをクリックします。

アセスメントプロジェクトを作成2


<入力値>

左右にスクロールしてご覧ください。

Name 任意のプロジェクト名を入力。
Location プロジェクトファイルの保存場所を入力。
※SSMA プロジェクト(.o2ssproj)形式で保存されます。
Migrat To 移行先データベースの DBMS 製品を選択。


2.アセスメントを実施したいデータベースの指定

アセスメントを実施したいデータベースが存在するデータベースサーバー(= 移行元のデータベースサーバー)に接続します。画面上部の「Connect to Oracle」をクリックし、以下の内容を入力後、「Connect」ボタンをクリックします。
※よく分からなくなった場合、Oracle SQL Developer 等の接続情報を確認して、同じものを入れたら OK です。

アセスメントを実施したいデータベースの指定1


<入力値>

左右にスクロールしてご覧ください。

Provider 以下のいずれかを選択。
  • Oracle Data Provider for .NET
  • OLEDB Provider
  • ODBC Driver
※ 今回は「Oracle Data Provider for .NET」を選択しています。
Mode 以下のいずれかを選択。
  • Standard mode
  • TSNNAME mode
  • Connection String mode
※ 今回は「Standard mode」を選択しています。
以下、Mode を Standard mode にした場合の入力値
Server name Oracle がインストールされているサーバー名を記載。
Server port Oracle のポートを記載。
Oracle SID Oracle の SID を記載。
User name Oracle に接続するユーザー名を記載。
Password ユーザー名にひもづくパスワードを記載。


接続が成功した場合、指定したデータベースのスキーマ一覧が表示されます。アセスメントを行いたいスキーマにチェックをつけて「OK」ボタンをクリックします。

アセスメントを実施したいデータベースの指定2


※スキーマ内のデータ量によって、表示に時間がかかります。



3.結果の表示

「②アセスメントを実施したいデータベースの指定」で読み込んだスキーマを選択し、「Create Report」をクリックします。
※スキーマを選択して、右クリック → 「Create Report」でも OK です。
※SYS、SYSTEM スキーマを選択しても、レポートを生成することはできません。

結果の表示1


選択したスキーマのレポートが表示されます。移行可能であるかどうかは、オブジェクトごとにパーセンテージで表示しています。
画面下部にエラー数、警告数が表示され、詳細を確認できます。

結果の表示2


4.おわりに

いかがでしたか? Data Migration Assistant と同様、SQL Server Migration Assistant を利用したアセスメントも簡単であったかと思います。

詳細については Microsoft の Docs に記載がありますが、他の Docs と違い機械翻訳となっていますので、少々読みにくい部分があるかもしれません。テキストの上でマウス ポインターを動かすと、ポップアップ ウィンドウに英語のテキストが表示されるので、そちらも合わせて確認することで理解が深まると思います。

【参考:SQL Server Migration Assistant 】
https://docs.microsoft.com/ja-jp/sql/ssma/sql-server-migration-assistant?view=sql-server-2017

アセスメントだけの実施であれば、Data Migration Assistant と同様、移行先のデータベース(本ブログの例としては SQL Database)は不要です。移行前のリスクを洗い出すのに最適ではないでしょうか。

次回は SQL Server Migration Assistant のもう一つの機能である、移行機能について紹介いたします。お楽しみに!



関連ページ

「Microsoft Azure の導入・構築・運用」に関する資料請求・お問い合わせはこちら
データ移行ツールいろいろ~Database Migration Guide
データ移行ツールいろいろ~Data Migration Assistant(アセスメント編)
データ移行ツールいろいろ~Data Migration Assistant(移行編)
データ移行ツールいろいろ~SQL Server Migration Assistant(移行編)

【総合】お問い合わせ

製品・サービスに関するお問い合わせはお気軽にご相談ください

ピックアップ

セミナー情報
クラウドエンジニアブログ
clouXion
メールマガジン登録