Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

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

徵狀

請試想下列案例:

  • 您在執行 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 的電腦上建立連結伺服器。 連結伺服器指向遠端伺服器上的 OLE DB 資料來源。

  • 您執行的分散式查詢使用連結伺服器上的某些資料物件。

  • 您在遠端伺服器上執行一些作業,而這些作業會在資料物件上造成超過五個架構版本更新。 例如,您在遠端伺服器上重建資料表的索引,以更新連結伺服器上之資料表的架構版本。注意: 您會在下一次執行查詢之前執行這些作業。

  • 您可以在連結伺服器上再次執行分散式查詢。

在這種情況下,不會重新編譯查詢,而且您會收到類似以下的錯誤訊息:

伺服器: Msg 7359,階層等級編號,狀態狀態編號,行號連結伺服器「連結伺服器名稱」的 OLE DB 提供者「提供者名稱」已在編譯時間("編譯時間")和執行時間("執行時間")之間,報告 [連結資料表名稱] 的架構版本的變更。

注意事項

  • [提供者名稱] 是 OLE DB 提供者名稱的預留位置。

  • [連結資料表名稱] 是在連結伺服器上查詢的資料表名稱的預留位置。

  • 下列語句通常可以變更架構版本:

    • ALTER TABLE

    • 建立索引

    • 刪除索引

    • DBCC 重新編制索引

原因

之所以會發生此問題,是因為已達到針對查詢重新編譯的限制。 對架構進行變更時,會將快取中的部分物件刪除,且查詢需要重新編譯的操作。 不過,如果有超過五個更新架構版本的變更,就會達到重新編譯的上限。 因此,在「症狀」一節中提到的問題就會發生。

解決方案

累積更新資訊

SQL Server 2008 R2

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

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

981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建

SQL Server 2008 R2 Service Pack 1

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

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

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

SQL Server 2008 Service Pack 3

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

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

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

SQL Server 2008 SP2 累積更新套件6

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

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

2402659 在發行 SQL Server 2008 SP2 之後發行的 SQL Server 2008 組建

因應措施

若要解決這個問題,請使用下列其中一個方法:

  • 執行 DBCC FREEPROCCACHE("Plan_Handle")語句。如需 Plan_Handle 參數的詳細資訊,請造訪下列 MSDN 網站:

    Plan_Handle 參數的一般資訊

  • 執行 sp_refreshView 的 [ViewName] 儲存程式。注意: 如果已安裝 SQL Server 2008 SP2 的累積更新套件3,此方法則無法運作。

狀態

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

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×