2017-02-17 9 views
1

SQL Server 2016では、既存のテーブルにパラレル挿入を導入しました。ターゲットテーブルに特定の機能を持たないことで、SQL Serverはデータをパラレルストリームに挿入できます。 INSERT [tableNameの】WITH(TABLOCK) SELECTの構文を使用してSSISと並列挿入

.....

データを並列に挿入されます。私はこれを使って大きな改善を見た。通常、この新しい機能を使用すると約30秒しかかかりません。

SSISでこの新しい設定を使用するにはどうすればよいですか?私はVisual Studio 2015 EnterpriseとSQL Server 2016を使用しています。 "Execute SQL Task"を使用してこのようなことを行うことができますが、これをデータフローでどのように使用するかは不思議です。宛先アダプタに特定の接続マネージャと設定がありますか?

+0

これを参照してください:https://msdn.microsoft.com/en-us/library/bb522534.aspx –

+0

@KinchitDalwani私はその記事を見ました。新しいアップグレードが何であるかは非常に有益でしたが、私は並行挿入について何も見ませんでした。私はそれを見逃したのですか? – Craig

+0

これはあなたの質問に答えることができます:https://blogs.msdn.microsoft.com/sqlperf/2007/05/11/implement-parallel-execution-in-ssis/ –

答えて

0

SQL Server 2016では、挿入操作に並列処理を使用するための2つの条件を指定する必要があります。最初の1つは、データベースの互換性レベルは130に設定する必要があります。あなたのssisパッケージを実行する前に、データベースの互換性レベルを確認してください。

SELECT name, compatibility_level FROM sys.databases 

第2条件はTABLOCKヒントを使用しています。 SSISパッケージでは、OLEDB宛先でTABLOCKヒントを選択できます。

0

いいえ、パラレル挿入をDTFで使用することはできません。
SQL2016のParallel InsertsのMicrosoft descriptionによれば、いくつかの制限付きでINSERT ... SELECT ...文を実行する場合にのみ使用できます。データフローは、SSISサーバー、OLEDB、またはODBC宛先のメモリ内のデータテーブルを準備すると、並列操作の対象ではないINSERT or INSERT BULKステートメントでロードしようとします。

関連する問題