web-dev-qa-db-ja.com

SSIS 2008R2をSQL Server 2012データベースに接続する場合のSQLNCLI10.xと11.x

質問から始めて、逆に作業します。

私の質問: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に正常に接続し、完全に機能し、バグがないように見えます。

これを他の要因と組み合わせると:

  1. 私が参照するSSISボックスは、開発ライフサイクルの1つの要素であるため、このボックスを変更すると、他のいくつかのボックスにもv11がインストールされます。

  2. 単一のSQLNCLIの代わりに、適切なDB接続用の適切なプロバイダーを選択する必要があるという追加の複雑さ(心配するSQL Server 2000/2005ソースはありません)。特にConnMgrは一度設定すると変更できないためです。

  3. this などの問題は、10を超える11を使用するとリスクが高くなることを意味します。

オープンまたはディスカッション形式の質問が嫌われるので、Q&A:

  1. SQL Server 2008 R2(SSIS)からSQL Server 2012に接続するためにSQLNCLI10を使用し続けるリスクはありますか?

  2. 代わりにv11を使用した場合と同じようにパフォーマンスが低下しますか?

  3. 11.xの代わりに10.1を使用すると、機能が失われたり、破損する恐れがありますか?

ありがとう。

2
AndyBrown

thisthis によると、ライブラリの根本的な変更を反映していると私が想定している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に含まれています。

1
Jon Bruckman