將 SSIS 2008R2 連接到 SQL Server 2012 數據庫時的 SQLNCLI10.x 與 11.x
從問題開始並向後工作。
我的問題:是否可以
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,並且似乎功能齊全且沒有錯誤。將此與其他因素相結合:
- 我提到的 SSIS 框是開發生命週期的一個元素,因此更改此框意味著還要在其他幾個框上安裝 v11。
- 必須為正確的 DB 連接而不是單個 SQLNCLI 選擇正確的提供程序所增加的複雜性(無需擔心 SQL Server 2000 / 2005 源)。特別是因為 ConnMgr 不允許您在設置後更改它。
- 諸如此類的問題意味著使用 11 比 10 存在更大的風險。
我意識到公開或討論類型的問題不受歡迎,所以,問答:
SQLNCLI10
繼續使用從 SQL Server 2008 R2 (SSIS) 連接到 SQL Server 2012是否存在任何風險?- 與使用 v11 相比,是否會有任何性能損失?
- 使用 10.1 而不是 11.x,我是否會失去功能或有損壞的風險?
謝謝。
根據this和this,我假設對 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 的功能。