徵狀
請試想下列案例:
-
您可以建立連結伺服器至 Microsoft SQL Server 2012。
-
您嘗試執行的 SQL 語句會呼叫 sys.sp_tables_info_90_rowset_64 系統儲存程式,以從 SQL Server 2012 的預設實例存取資料表。
-
該表的記錄超過2500000000個。
在此案例中,您收到下列錯誤訊息:
Msg 8115、Level 16、State 2、程式 sp_tables_info_90_rowset_64、資料行9Arithmetic 溢出錯誤將運算式轉換為 int 資料類型。
注意當您將 SQL Server 2012 設定為目的伺服器時,就會發生此問題。
解決方案
累積更新資訊
SQL Server 2012 的累積更新套件 1 Service Pack 1
此問題的修正程式是在累積更新1中第一次發行。如需有關如何取得適用于 SQL Server 2012 Service Pack 1 的累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2765331 SQL Server 2012 的累積更新套件 1 Service Pack 1注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2012 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2772858 在發行 SQL Server 2012 Service Pack 1 之後發行的 SQL Server 2012 組建
SQL Server 2012
此問題的修正程式是以累積更新4第一次發行。如需如何取得此 SQL Server 2012 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2758687 SQL Server 2012 的累積更新套件4注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2012 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2692828 在發行 SQL Server 2012 之後發行的 SQL Server 2012 組建
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
其他相關資訊
如需有關如何在 SQL Server 2012 中設定連結伺服器的詳細資訊,請移至下列 MSDN 網站: