MySQLデータベースの内容をMS SQL Server 2008データベースに複製したい。
これは可能ですか?これを達成するために必要な手順の概要を誰かが説明できますか?
ありがとう。
個人的には、MS SQLメソッドとPush from MySQLメソッドを比較します。どうして? Windowsには32ビットと64ビットのMySQLがありますODBCドライバーの準備ができており、リンクサーバーの設定は簡単です。MSSQLからリンクされたMySQLサーバーがたくさんあります。また、LinuxからMS SQLに接続する/ unixは常に優れているとは限らず、通常はすべての機能を使用できない場合があります。FreeTDSには制限があります。後でヒットするよりも早くヒットする可能性があるので、スキップしないでください。これはすべて、* nixでMySQLを実行していることを前提としています。そうではありませんが、50/50に少し近づきますが、「ライブ」データベースではないように思われるので、MS SQLからのプルを選択します。したがって、ETLまたは処理のために負荷をかけることがより理想的です。GoldenGateソリューション面白そうに聞こえますが、それは無料ではないと確信しています。
MySQLとOracleデータベースの両方をMS SQLに複製してこのようなシナリオを設定したことを考慮して、私にとって最も効果的ないくつかのヒントを提供します。
ヒントが役立つことを願っています!
同じ質問がStackOverflowの MySQLからMSSQLへのレプリケーション で対処されました。
いくつかの回避策があるようですが、非常に簡単な解決策ではありません。
MySQL DBからMSSQL DBに必要なデータをインポートするためのSSISパッケージを構築してみてください。 SSISを使用すると、さまざまなソースからデータをインポートできます。その後、WindowsタスクスケジューラまたはSQLジョブを使用してパッケージをスケジュールできるはずです。
複製とは、ログ配布などを意味し、運が悪いと思います。ただし、 リンクされたサーバーとしてのMySQLデータベース を設定して、独自のレプリケーションスキームをロールすることもできます。最も簡単なのは、truncateステートメントとinsertステートメントを使用して、すべてのテーブルの定期的なスナップショットを作成することです。要件に応じて複雑さを追加します。
GoldenGateを MySQL および MS SQL に使用すると、これを行うことができます。 GoldenGate製品を両側にインストールし、同種のレプリケーションの場合と同様に続行します。
または、「スナップショット」レプリケーションの場合、Python(または同様の)スクリプトを使用して、両方のデータソースに接続することができます( nixODBC および を使用)。 FreeTDS MS SQLに接続するには)、一方の行でSELECT
を実行し、もう一方の行でINSERT
を実行するテーブルをループします。MSSQLにはトランザクションがあり、ターゲットであるため、次のことができます。トランザクションを開始し、DELETE
すべてのテーブルからすべてを実行して、コピーを実行し、次にCOMMIT
を実行すると、ターゲットに接続しているユーザーに関する限り、瞬時に表示されます。もちろんソースに存在します)。