2

私は C# 開発者ですが、SQL はあまり得意ではありません。ここで簡単な質問があります。あるデータベースから別のデータベースに 5,000 万件を超えるレコードを移動する必要があります。ms SQL でインポート機能を使用しようとしましたが、ログがいっぱいだったためにスタックしました (エラー メッセージ The transaction log for database 'mydatabase' is full due to 'LOG_BACKUP') が表示されました)。データベースの復旧モデルはシンプルに設定されました。私の友人は、タスク - >データのインポートを使用して何百万ものレコードをインポートするとログが大量になると言い、代わりにループを使用してデータを転送するように言いました。方法と理由を知っている人はいますか? 前もって感謝します

4

3 に答える 3

4

データベース全体を移動する場合は、バックアップと復元を使用すると、最も迅速かつ簡単になります。

http://technet.microsoft.com/en-us/library/ms187048.aspx

単一のテーブルを移動するだけの場合は、この多くのレコードについて読み、BCP コマンド ライン ツールを使用します。

bcp ユーティリティは、Microsoft SQL Server のインスタンスとデータ ファイルの間でユーザー指定の形式でデータを一括コピーします。bcp ユーティリティを使用すると、大量の新しい行を SQL Server テーブルにインポートしたり、テーブルからデータ ファイルにデータをエクスポートしたりできます。queryout オプションを使用する場合を除き、このユーティリティには Transact-SQL の知識は必要ありません。テーブルにデータをインポートするには、そのテーブル用に作成されたフォーマット ファイルを使用するか、テーブルの構造とその列に有効なデータの型を理解する必要があります。

http://technet.microsoft.com/en-us/library/ms162802.aspx

于 2013-10-24T23:54:17.353 に答える