質問から始めて、逆に作業します。
私の質問:SQL Server 2012データベースに接続するSSIS 2008 R2のプロバイダーとしてSQLNCLI10.1
を使用することは問題ありませんか?
SQL ServerとSSIS 2008 R2を実行しているSSISボックスがあります。 SSISパッケージは、さまざまなSQL Serverデータベースを含むさまざまなデータソースにさまざまに接続し、これらのデータベースの一部はSQL Server 2012上にあります。一般的な原則に従って、現在のソースに適切なプロバイダーを使用します接続先、「正しい」選択肢は、SQL Server 2012に接続する場合はSQLNCLI11
、SQL Server 2008に接続する場合はSQLNCLI10
であることを期待しています& 2008 R2。
ただし、SQLNCLI10.1
を使用すると、SQL Server 2012に正常に接続し、完全に機能し、バグがないように見えます。
これを他の要因と組み合わせると:
私が参照するSSISボックスは、開発ライフサイクルの1つの要素であるため、このボックスを変更すると、他のいくつかのボックスにもv11がインストールされます。
単一のSQLNCLIの代わりに、適切なDB接続用の適切なプロバイダーを選択する必要があるという追加の複雑さ(心配するSQL Server 2000/2005ソースはありません)。特にConnMgrは一度設定すると変更できないためです。
this などの問題は、10を超える11を使用するとリスクが高くなることを意味します。
オープンまたはディスカッション形式の質問が嫌われるので、Q&A:
SQL Server 2008 R2(SSIS)からSQL Server 2012に接続するためにSQLNCLI10
を使用し続けるリスクはありますか?
代わりにv11を使用した場合と同じようにパフォーマンスが低下しますか?
11.xの代わりに10.1を使用すると、機能が失われたり、破損する恐れがありますか?
ありがとう。
this と this によると、ライブラリの根本的な変更を反映していると私が想定しているsqlcmd.exeユーティリティへのアップグレードがあります。例えば、
SQL ServerのODBC Driver 11以降、–y0が指定されている場合、単一の列で取得されるデータの量に制限はありません。
これはODBCドライバーと言っていますが、別のリンクによると(レピュテーションの制限のために投稿できない)、SQLNCLIはODBCドライバ。
SQL Server Native Client ...には、SQL Serverが含まれていますODBC LinuxおよびODBCのドライバー/ OLE DBプロバイダーfor Windows)、Microsoft SQL Serverへのネイティブ接続をサポート。
私の限られた検索から、10を使用してそれ以降のSQLサーバーインスタンスに接続しても問題はないように見えますが、そのインスタンスから利用しているSQLサーバー機能があり、それらにアクセスする必要がある場合あなたのパッケージから、あなたはアップグレードしたいと思うでしょう。
パフォーマンスについて推測することはできません。違いを確認するには、開発ボックスで2つの方法をベンチマークすることをお勧めします。
あなたは確かに機能を失っています。 what機能自体を示すリリースノートは見つかりませんが、上のリンクはSQLサーバー固有の機能であることを示唆しているようですNCLI APIに含まれています。