この記事では、PostgreSQLからクラウドベースのWindows Azure SQLデータベースへの移行(データの転送)がいかに簡単でシンプルかを示します。
主な手順:
- Windows Azureコントロールパネルで新しいデータベースを作成する
- PostgreSQL用のODBCドライバーをインストールします
- SQL Serverデータツールでプロジェクトを作成する
- データのインポート
Windows Azureコントロールパネルで新しいデータベースを作成する
新しいデータベースを作成するには、Windows Azureコントロールパネル( https://manage.windowsazure.com/ )にアクセスします 。 サブスクリプションがない場合でも、試用期間を使用できます-1か月で200ドル。これはさまざまな実験に十分です。
左下の[ +新規 ]ボタンをクリックし、[ データサービス]> [SQLデータベース]> [クイック作成 ]を選択します 。 必要なフィールドに入力します-データベースにアクセスするためのデータベース名、データセンター地域、ログイン/パスワード:

しばらくすると、データベースの作成が成功したというメッセージが表示されます。

デフォルトでは、データベースは最大サイズ1GBで作成されます-上限に達すると、データベースは読み取り専用モードになります。 ただし、必要に応じて、サイズを最大150GBまで増やすことができます。
PostgreSQL用のODBCドライバーをインストールします
次に、postgresql用のODBCドライバーをインストールする必要があります。 公式サイトから最新バージョンをダウンロードしてください(32ビットバージョンをダウンロードしてください。問題は少ないです)。 注意! ドライバーは、データベースサーバーではなく、将来データがコピーされるコンピューターにインストールする必要があります。

インストールは簡単で、問題は発生しません-Next-Next-Next-Finish。
その後、PostgreSQLとSQLデータベースの両方にODBCソースを追加します-開始画面でodbcと入力し、リストからODBCデータソース(32ビット)を選択します


表示されるウィンドウで、[ 追加... ] をクリックして、リストから[PostgreSQL Unicode] を選択し、[完了]をクリックします。

その後、必要なすべてのデータを入力します。

この記事が書かれたポイントの1つ-このウィンドウで、[ データソース ]ボタンをクリックし、[ 宣言/フェッチを使用]チェックボックスをオンにします。

これがなければ、データが少ない限りすべてが機能しますが、大容量のメモリ不足エラーで失敗します-したがって、約6000万レコードのテーブルでこのエラーが発生しました。
また、クラウドで宛先サーバーのデータソースを作成します-リストからSQL Server Native Clientのみを選択し、 「ADO .Net、ODBC、PHP、およびJDBCのSQLデータベース接続文字列を表示」をクリックして、サーバーコントロールパネルで接続データを表示できます」 そして、このウィンドウが思い出させるように、このIPアドレスからデータベースへの接続を許可することを忘れてはいけません-デフォルトでは、Windows AzureサービスのIPアドレスからのみ接続が可能です(そして、このオプションがサーバー設定で有効になっている場合)

セットアッププロセスも難しくありません。その後、おおよそ次の図が表示されます。

SQL Serverデータツールでプロジェクトを作成する
MySQLで移行が行われた場合、すべてがよりシンプルになります。特にMySQLをサポートし、非常に簡単かつ迅速に移行できる素晴らしいSQL Server Migration Assistant(SSMA)ツールがあります。 ただし、これはPostgreSQLの場合ではないため、SQL Serverデータツールを使用する必要があります(ただし、これも難しくありません)。 SQL Serverデータツールを実行し、[ 新しいプロジェクト ]をクリックして、 Integration Serviceプロジェクトテンプレートに基づいてプロジェクトを作成します。

ツールボックスからデータフロータスクをドラッグし、ダブルクリックします-[データフロー]タブに移動します。

ODBCデータソースとODBC宛先をワークスペースにドラッグアンドドロップし、ODBCソースからの青い矢印で接続します。

[ODBCソース]をダブルクリックし、表示されるウィンドウで、[新規作成]、[新規作成]の順にクリックして、データソースを選択します。

[OK]をダブルクリックしてこれらのウィンドウを閉じ、データのインポート元のテーブルを選択します。

次に、同じ方法でデータレシーバーを設定する必要があります-ODBC Destination


必要に応じて、列の一致を構成することもできます。

もう1つの重要なポイント-プロジェクトの起動を32ビットモードに切り替える必要があります。 これを行うには、ソリューションエクスプローラーでプロジェクトを右クリックし、[ プロパティ ]を選択し、[ 構成プロパティ]-> [デバッグ] セクションでRun64BitRuntimeをFalseに 設定します 。

データのインポート
これで、データを転送する準備ができました! F5キーまたはツールバーの[デバッグの開始]ボタンを押します。 作業領域に、データが転送されていることを示すインジケータが表示されます。

また、進行状況パネルでは、テキストレポートを見ることができます。

すべてが計画どおりであることを確認した後、コーヒー/紅茶を飲むことができます-これはかなり長いプロセスです(私の意見では、SSMAはより速く動作しました)。 プロセスが完了すると、データソースとレシーバーに緑色のチェックマークが表示されます。

そして、進行状況ウィンドウ-テキストレポート:

ご覧のとおり、570K行が50分でコピーされました。 クラウドデータベースに接続し、データが実際に存在することを確認できます。

これにより、PostgreSQLからWindows Azure SQL Databaseクラウドデータベースに大量のデータを簡単かつ迅速に転送できます。