2016-06-13 15 views
0

SQL Serverに多数のテーブルを持つ巨大なデータベースがあります。私はこれをAzureデータベースに移行しています。SQL ServerをAzure DBに移行する - データのみ

インターネット上で提案されている移行方法は素敵でかわいいですが、Azure Dbはいくつかのもの(xml OPEN、sp_addextendedpropertyなど)をサポートしていないので、ほとんどのストアドプロシージャと私のテーブルの定義とビュー。このため、私はスキーマとデータを別々に移行することを選択しました。スキーマは既にAzureにあります。 bcpより良い/簡単な方法があり、

1. AzureのDBへの唯一のSQL Serverからデータを移行する:

私は別にデータの移動について多くの質問がありますか? bcpで、私はそれをテーブルごとに行う必要があります。私は40のテーブルを持っています。いい方法があるはずです...いいえ?

2.サーバーまたはローカルマシンでBCPを実行する必要がありますか?後者はより安全だと感じています。 dbは多くのユーザーによって絶えず使用されていますが、私はその性能を熟考したくありません。

bcp私の照合順序またはデータ型が混乱していませんか?

私はこのようなものを使用したい:

bcp Table1 out C:\DbExport\Table1.txt -c -U sa -S 1.2.3.4\MyDatabase -P password 
+0

bcp/BULK INSERTに何か混乱があると思われます。 –

+0

@PanagiotisKanavos私はこれらを初めて使用することがあります。 :) Bcpは、テーブルからテキストファイル(エクスポート)にすべてのデータを取得します。一括挿入を使用してそのデータをAzure Dbにインポートすることができます。私は間違っていますか? – vacip

+0

先に進む前に、SSIS、データのインポート/エクスポートなどに関するチュートリアルをチェックすることをお勧めします。ローカルデータベースからAzure SQLにデータを転送することは、あるデータベースから別のデータベースにデータを転送することと変わりありません。最初にDBからDBへの転送がどのように行われたか理解してから、データベースをクラウドに移動してください。 –

答えて

2

はいアズールに1つのSQL Serverからのデータを移動する別の方法があるが。 SSDT(SQL Server Data Tools)を使用することができます。ツールセットには、2つのテーブルのスキーマを比較し、データを比較する機能が含まれています。 SSDTはAzureテーブルとソースSQL Serverテーブルを同期させます。一度に複数の表を作成できます。私はこれを日常的に使用して、あるSQL ServerテーブルからAzureデータベースにデータを移動します。

SSDTは無料で、Visual Studioに付属しています。ただし、Visual Studioをまだインストールしていない場合は、インストールする必要はありません。 SSDTを実行できるだけのVisual StudioがインストールされているVisual Studioシェルをインストールできます。

もちろん、Red Gateのようなサードパーティの商用ツールもあります。

+0

クール、ありがとう!私はこれを試して、報告する。 – vacip

+0

SSDTは魅力的に機能しますが、キャラクタコーディングによって動脈瘤が発生する場合は例外です。そのような場合、私はBCPを使用します。提案にもう一度感謝します! – vacip

2

xSQL Data Compare Toolsを使用することもできます。このソフトウェアを使用すると、2つのデータベース間のデータを同じスキーマで比較し、同期スクリプトを生成できます。 個人的に私はそれがデータ同期の問題を解決するのに非常に便利だと思っています。

+0

ありがとうございます。私は次回は絶対に試してみる予定です(マイグレーション待ちの別のデータベースがあります)。今のところ、SSDTは85%OK、残りはBCP(SSDTはいくつかのテキストフィールドで面白い文字で混乱してしまった)でした。 – vacip

関連する問題