0

SQL Server インスタンス データベースから 1 つのテーブルを、Azure で新しく作成されたデータベースに転送したいと考えています。問題は、挿入スクリプトが 60 GB 大きいことです。

1 つのアプローチは、バックアップ ファイルを作成し、それをストレージにロードしてから、Azure でインポートを実行することです。しかし、問題は、azure IO にインポートしている間よりもそうしようとすると、エラーが発生することです。

Could not load package.
 File contains corrupted data.
 File contains corrupted data.

2番目の問題は、このアプローチを使用すると、1つのテーブルのみをコピーできず、データベース全体をバックアップファイルに含める必要があることです。

そのような操作を実行する他の方法はありますか? 最善の解決策は何ですか。バックアップが最適な場合、なぜこのエラーが発生するのでしょうか?

4

3 に答える 3

3

これを非常に簡単にするツールを使用できます (ポイント アンド クリック)。1 回限りの作業であれば、ほぼすべてのツール ( Red GateBlueSyntaxなど) を使用できます。あなたも常にBCPを持っています。これらのアプローチのほとんどでは、単一のテーブルをバックアップまたは復元できます。

より再現性の高いものが必要な場合は、バックアップ APIの使用を検討するか、 SQLBulkCopyクラスを使用して自分でコーディングする必要があります。

于 2013-08-13T19:07:39.653 に答える
1

60 GB のスクリプトを実行しようとしたことがあるかどうかはわかりません。スクリプトは通常、あまり最適化されていない単一の挿入を行います。さまざまな一括インポート/エクスポート オプションを使用して調べましたか?

http://msdn.microsoft.com/en-us/library/ms175937.aspx/css http://msdn.microsoft.com/en-us/library/ms188609.aspx/css

これが 1 回限りのロードである場合は、IaaS VM を使用して SQL Azure データベースへのインポートを実行することをお勧めします。エクスポートされたデータ ファイルは、圧縮/zip して BLOB ストレージにアップロードできます。次に、そのファイルをストレージから VM にプルして操作できるようにします。

于 2013-08-13T14:19:25.617 に答える
0

コマンド プロンプトで BCP を使用してみましたか? ここで説明されているように: Bulk Insert Azure SQL .

基本的に、すべてのテーブル データを含むテキスト ファイルを作成し、コマンド プロンプトで BCP コマンドを使用して、Azure SQL データベースに一括コピーします。

于 2014-08-20T12:44:30.543 に答える