Info2softは、ウェブサイトでより快適で適切な閲覧体験を提供するためにCookieを使用しています。 プライバシーポリシー
Loading...
Microsoft SQL ServerとMySQLは、企業がデータ管理や業務システムを支えるために広く活用するデータベースです。しかし、様々な要因によりSQL ServerからMySQLへデータベースを移行するケースがあります。主な理由は下記の通りです。
目的を問わず、続きをご覧ください。ここではSQL ServerデータベースをMySQLへ移行する4つの手法を紹介します。
MySQL WorkbenchはMySQLデータベース管理向けGUIツールです。移行ウィザードが標準搭載されており、SQL ServerのデータベースをMySQLへ変換し、スキーマとデータの転送を支援します。
手順1. MySQL Workbenchを起動し、「データベース」→「移行ウィザード」を選択します。
手順2. 画面の案内に従い、移行元RDBMSとしてMicrosoft SQL Serverを選択します。
手順3.「新規…」をクリックし移行元接続情報を作成します。
手順4.「ホスト名」「ポート番号」「ユーザー名」「パスワード」を入力し接続テストを実施。適切なODBCドライバーを選択する必要がある場合があります。
手順5. 移行先RDBMSとしてMySQLを選択します。
手順6. 新規で移行先接続を作成するか、既存の接続を選択します。
手順7.「ホスト名」「ポート番号」「ユーザー名」「パスワード」を入力し「接続テスト」を実行します。
手順8. ウィザードに利用可能なSQL Serverデータベースが表示されるので、必要に応じて1つまたは複数のスキーマを選択し「次へ」をクリックします。
手順9. MySQL Workbenchがテーブル、ビュー、ストアドプロシージャなどのオブジェクトを読み取りSQL Serverスキーマを解析後、MySQL構文へ自動変換します。
手順10. 生成されたスクリプトを確認し、必要に応じてマッピングを手動編集してから「次へ」をクリックします。
手順11. Workbenchにスキーマを自動作成させるか、スクリプトを出力し事前に手動確認するかを選択します。
その後ウィザードによりSQL ServerからMySQLへ直接データがコピーされます。データ量によって所要時間は変動します。
移行完了後、MySQL Workbenchを開き新規スキーマを参照し、データの整合性確認や主要クエリ・アプリケーションの動作検証を実施します。
SQLyogを利用しSQL ServerからMySQLへ移行することも可能ですが、スキーマの自動変換機能は標準搭載されていないため、スキーマのエクスポートと調整作業が必要です。詳細手順は下記の通りです。
手順1. まずSQL Serverからスキーマ(定義のみ)を出力します。SQL Server Management Studio(SSMS)にて「データベース」を右クリック→「タスク」→「スクリプトの生成」→「スキーマのみ」を選択します。
手順2. 出力した.sqlファイルを開き、MySQLの構文に適合するよう手動編集します。
削除または置換が必要な項目:
編集後、mysql_schema.sqlとして保存します。
手順3. SQLyogでMySQLサーバーに接続し、当該.sqlファイルを実行します:「ファイル」→「SQLスクリプトを開く」→「実行」
手順4. ODBCデータソース管理を開き、「システムDSN」または「ユーザーDSN」→「追加」をクリックし「SQL Server用ODBCドライバー」を選択します。
手順5. 移行対象データベースを選択し、「データソース名」「サーバー名」「認証情報」を入力し保存します。
手順6. SQLyogを起動し「ツール」→「外部データのインポート」→「ODBCデータソースからインポート」を選択。作成したODBCソース、移行元SQL Serverデータベース、移行先MySQLデータベースを指定します。
手順7. テーブルを自動作成するか、既存テーブルへデータのみインポートするか選択し、インポートを開始します。
移行完了まで待機します。
手順1. SQL Server Management Studioを開きスキーマを出力:「スクリプトの生成」→「データベース選択」→「スキーマおよびデータ」を選択し、.sqlファイルとして保存します。
手順2. SQL構文を変換し、データ型を置換します。例:
識別子の置換:
手順3. 変換済み.sqlスクリプトをMySQLにインポート可能です。
mysql -u root -p 対象データベース < converted_schema.sql
手順4. bcpまたはSQL Serverインポート/エクスポートウィザードによりCSVファイルを出力後、下記構文で読み込みます。
代替手段として、i2Streamといった専用のデータベース移行ソリューションを利用できます。MySQL Workbench、SQLyog、コマンドによる手作業と比較し、大規模で複雑な環境において大きなメリットがあります。
i2Streamの主な特長:
ダウンロードボタンより60日間無料トライアル版を入手可能です。
本記事ではMySQL Workbench、SQLyog、コマンド操作、専用データ移行ツールを利用したSQL ServerからMySQLへの移行手法を解説しました。用途に合わせて適切な方法を選択してください。
比較すると、専用のデータ移行ソリューションi2Streamが最適です。プロセスを効率化し、大半の大規模データベース環境に適しています。
Q:停止時間ゼロでSQL ServerデータベースをMySQLへ移行できますか?
A:可能です。i2Streamのような専用移行ツールはリアルタイムレプリケーションに対応し、停止時間を最小限またはゼロにした移行を実現します。
Q:SQL ServerからMySQLへの移行にはどれくらい時間がかかりますか?
A:データベース容量、スキーマの複雑さ、選択するツールにより変動します。小規模DBは数分程度、企業規模の大きなデータベースの場合は数時間~数日を要する場合があります。
Q:SQL Serverの.bakファイルをオンラインでMySQLへ変換できますか?
A:直接変換することはできません。.bakファイルはSQL Server独自のバックアップ形式であり、標準的なSQLスクリプトやデータダンプではないためです。