Microsoft 發佈 Microsoft SQL Server 2008 Service Pack 1 (SP1),而 Microsoft SQL Server 2008 R2 修正為一個可下載的檔案。 因為修正程式是累加的,所以每個新發行版本本都包含舊版 SQL Server 2008 SP1 和 SOL Server 2008 R2 修正程式版本中所包含的所有熱修復程式及所有安全性修正程式。

徵狀

請試想下列案例:

  • 您可以在 SQL Server 2008 或 SQL Server 2008 R2 中的資料表上啟用變更追蹤功能。

  • 您執行的查詢會將 CHANGETABLE 函數與 last_sync_version 引數搭配使用,以傳回在表格中所發生變更的追蹤資訊。

  • Bigint值會傳遞為last_sync_version引數。

例如,在表格上啟用變更追蹤之後,請執行下列查詢:

SELECT * FROM CHANGETABLE(changes dbo.t1, 2222222222) as ct

在這種情況下,查詢的執行失敗,而且您會收到下列資訊:

Msg 1080,Level 15,狀態1,行1The 整數值 Bigint 值 超出範圍。

注意事項

  • Last_sync_version引數的類型定義為Bigint。 因此,查詢應該會順利執行。

  • Bigint 值是一個預留位置,代表作為last_sync_version引數傳遞的Bigint值。

解決方案

累積更新資訊

SQL Server 2008 R2 Service Pack 1

此問題的修正程式是在 SQL Server 2008 R2 Service Pack 1 的累積更新1中第一次發行。如需如何取得此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2544793 SQL Server 2008 R2 Service Pack 1 的累積更新套件1注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2567616 在發行 SQL Server 2008 R2 Service Pack 1 之後發行的 SQL Server 2008 R2 組建

SQL Server 2008 Service Pack 2

此問題的修正程式會在 SQL Server 2008 Service Pack 2 的累積更新4中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2527180 SQL Server 2008 的累積更新套件 4 Service Pack 2注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2402659 在發行 SQL Server 2008 Service Pack 2 之後發行的 SQL Server 2008 組建 Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 2 修補程式套用至 SQL Server 2008 Service Pack 2 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。

SQL Server 2008 R2

此問題的修正程式是在累積更新7中第一次發行。如需有關如何取得 SQL Server 2008 R2 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2507770 SQL Server 2008 R2 的累積更新套件7 注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建此問題的修正程式是在累積更新13中第一次發行。如需有關如何取得 SQL Server 2008 SP1 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2497673 SQL Server 2008 Service Pack 1 的累積更新套件13 注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 SP1 修正版本中所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

970365 在發行 SQL Server 2008 Service Pack 1 之後發行的 SQL Server 2008 組建

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

因應措施

若要解決這個問題,請建立一個類型為Bigint的變數,然後將該變數傳遞為CHANGETABLE函數的last_sync_version引數。 例如,您可以成功執行下列查詢:

DECLARE @v3 bigint = 2222222222SELECT * FROM CHANGETABLE(changes dbo.t1, @v3 ) as ct

其他相關資訊

如需用於 Transact-sql 的 CHANGETABLE 函數的詳細資訊,請造訪下列 Microsoft 開發網路(MSDN)網站:

Transact-sql 的 CHANGETABLE 函數一般資訊

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×