ビューの結果を 1 つのサーバー上のデータベースから新しいサーバー上の別のデータベース (両方とも SQL Server 2008 を実行) にコピーする場合、次のどの方法が最も効率的ですか?
1. OLE DB ソース/宛先を使用した SSIS データフロー タスク
2.カスタムスクリプト
例えば
using (SqlConnection connection = new SqlConnection(sourceConnectionString))
using (SqlCommand command = new SqlCommand(sourceQuery, connection))
{
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(destinationConnectionString))
{
bulkCopy.DestinationTableName = destinationTable;
//Any Column mapping required
bulkCopy.WriteToServer(reader);
}
}
}
3. SSIS 一括挿入
これがカスタム スクリプトを使用する場合とどのように異なるかはわかりませんが、ストアド プロシージャではなくテーブル/ビューでのみ機能するという追加の柔軟性がありません。
さまざまなオプションで追加のレベルのロギングやエラー処理などを利用できるため、これは同様の比較にはあまり似ていないことを理解していますが、競技場を可能な限り均等にするためにロギングをまったく必要としないと仮定しましょう.