Sql-Server

將 SSIS 2008R2 連接到 SQL Server 2012 數據庫時的 SQLNCLI10.x 與 11.x

  • June 2, 2016

從問題開始並向後工作。

我的問題:是否可以SQLNCLI10.1用作 SSIS 2008 R2 的提供程序來連接到 SQL Server 2012 數據庫?

我有一個執行 SQL Server 和 SSIS 2008 R2 的 SSIS 盒子。SSIS 包以各種方式連接到不同的數據源,包括不同的 SQL Server 數據庫,其中一些數據庫位於 SQL Server 2012 上。根據一般原則,您將為要連接的源使用正確的提供程序,我希望“正確”的選擇是SQLNCLI11連接到 SQL Server 2012,以及SQLNCLI10連接到 SQL Server 2008 和 2008 R2。

但是,使用可以SQLNCLI10.1很好地連接到 SQL Server 2012,並且似乎功能齊全且沒有錯誤。

將此與其他因素相結合:

  1. 我提到的 SSIS 框是開發生命週期的一個元素,因此更改此框意味著還要在其他幾個框上安裝 v11。
  2. 必須為正確的 DB 連接而不是單個 SQLNCLI 選擇正確的提供程序所增加的複雜性(無需擔心 SQL Server 2000 / 2005 源)。特別是因為 ConnMgr 不允許您在設置後更改它。
  3. 諸如此類的問題意味著使用 11 比 10 存在更大的風險。

我意識到公開或討論類型的問題不受歡迎,所以,問答:

  1. SQLNCLI10繼續使用從 SQL Server 2008 R2 (SSIS) 連接到 SQL Server 2012是否存在任何風險?
  2. 與使用 v11 相比,是否會有任何性能損失?
  3. 使用 10.1 而不是 11.x,我是否會失去功能或有損壞的風險?

謝謝。

根據thisthis,我假設對 sqlcmd.exe 實用程序的升級反映了庫中的底層更改。例如,

從 SQL Server 的 ODBC 驅動程序 11 開始,當指定 –y0 時,對在單個列中檢索的數據量沒有限制。

我意識到這說的是 ODBC 驅動程序,但根據另一個連結(由於聲譽限制,我無法發布),SQLNCLI 是 ODBC 驅動程序的某種包裝器。

SQL Server Native Client…包含適用於 Linux 的 SQL Server ODBC 驅動程序和適用於 Windows 的 ODBC/OLE DB 提供程序,支持與 Microsoft SQL Server 的本機連接。

從我有限的搜尋來看,使用 10 連接到以後的 sql server 實例似乎沒有任何問題,但是如果您正在利用該實例的 SQL server 功能,並且您需要訪問它們從您的軟體包中,然後您將要升級。

我無法推測性能,並建議在您的開發盒上對這兩種方法進行基準測試,看看有什麼區別。

你肯定會失去功能。我找不到任何可以說明本身功能的發行說明*,*但上面的連結似乎暗示它們是 NCLI API 中包含的特定於 sql server 的功能。

引用自:https://dba.stackexchange.com/questions/94970