使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

Microsoft 發佈的 Microsoft SQL Server 2008年,Microsoft SQL Server 2008 R2 修正為一個可下載的檔案。 的修正程式是累積的因為每個新版本包含的所有 hotfix,和所有的安全性問題修正前一個 SQL Server 2008年或 SQL Server 2008 R2 隨附修正版本。

徵狀

請試想下列案例:

  • 在 Microsoft SQL Server 2008年中,或在 Microsoft SQL Server 2008 R2 中,您可以建立預存程序。

  • 預存程序會使用二進位大型物件 (BLOB) 變數。

  • BLOB 變數的字串函式中使用。

  • 您執行預存程序。

在這個案例中,查詢計劃,預存程序不會快取。

解決方案

累積更新資訊

SQL Server 2008 Service Pack 1

SQL Server 2008 Service Pack 1 的第一次這個問題的修正程式釋放累積的更新 10] 中。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

2279604 SQL Server 2008 Service Pack 1 的累積更新套件 10答 5: 針對 Windows Server 2016 和 Windows 10 1709 版的 Windows Server 容器映像而發行的更新,包含適用於這組弱點的緩和措施,並且不需要額外設定。 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,並隨附於先前的 SQL Server 2008年所有安全性修正程式會都修正版本。 Microsoft 建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

970365 SQL Server 2008年建置 SQL Server 2008 Service Pack 1 發行之後所發行的 Microsoft SQL Server 2008 hotfix 會建立特定的 SQL Server service pack。 您必須將 SQL Server 2008 Service Pack 1 hotfix 套用至的 SQL Server 2008 Service Pack 1 安裝。 根據預設,SQL Server service pack 中所提供的任何 hotfix 併入下一步的 SQL Server service pack。

SQL Server 2008 Service Pack 2

SQL Server 2008 Service Pack 2 的第一次這個問題的修正程式釋放中累積的更新 1。 如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

2289254 SQL Server 2008 Service Pack 2 的累積更新 1答 5: 針對 Windows Server 2016 和 Windows 10 1709 版的 Windows Server 容器映像而發行的更新,包含適用於這組弱點的緩和措施,並且不需要額外設定。 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,並隨附於先前的 SQL Server 2008年所有安全性修正程式會都修正版本。 我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2402659 SQL Server 2008年建置 SQL Server 2008 Service Pack 2 已發行之後所發行的

SQL Server 2008 R2

這個問題的修正程式首次發表累積的更新 4] 中。如需有關如何取得此累積更新套件的 SQL Server 2008 R2 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

2345451 SQL Server 2008 R2 的累積的更新套件 4 答 5: 針對 Windows Server 2016 和 Windows 10 1709 版的 Windows Server 容器映像而發行的更新,包含適用於這組弱點的緩和措施,並且不需要額外設定。 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,和先前的 SQL Server 2008 R2 隨附的所有安全性修正都修正版本。 我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 SQL Server 2008 R2 建置 SQL Server 2008 R2 發行之後所發行的

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

其他相關資訊

如果要重現這個問題,請依照下列步驟執行:

  1. 執行下列程式碼如果要建立兩個預存程序 ("p_test1"和"p_test2")。 BLOB 變數,會使用"P_test1"和"p_test2"使用 nvarchar(100) 變數。use tempdbgoif OBJECT_ID('p_test1') is not null drop proc p_test1if OBJECT_ID('p_test2') is not null drop proc p_test2gocreate proc p_test1@s nvarchar(max)asbeginselect * from sys.objects where name = UPPER(@s)endgocreate proc p_test2@s nvarchar(100)asbeginselect * from sys.objects where name = UPPER(@s)endgo

  2. 執行下列的程式碼,以清除程序快取,並執行這兩個預存程序:dbcc freeproccachegoexec p_test1 N'abc'exec p_test2 N'abc'go

  3. 執行下列的程式碼,以檢查快取的計劃: select object_name(CONVERT(int, a.value)), cp.*from sys.dm_exec_cached_plans cpcross apply sys.dm_exec_plan_attributes(cp.plan_handle) awhere cp.objtype = 'Proc'and a.attribute = 'objectid'

注意如果有許多同時執行,這種 Microsoft SQL Server 2008年或 Microsoft SQL Server 2008 R2 的執行個體上的預存程序,您可能會遇到封鎖所造成編譯的執行個體上的鎖定。如需有關 SQL Server 可讓您封鎖因編譯鎖定的描述的詳細資訊,請參閱下列微軟知識庫文件:

263889 SQL Server 可讓您封鎖因編譯鎖定的描述

參考

如需字串函式 (考慮改用 SQL) 的詳細資訊,請造訪下列 Microsoft 網站:

字串函式 (考慮改用 SQL)如需 SQL Server 的累加式的服務模型的相關資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

935897 累加式的服務模型位於 SQL Server 小組製作報告的問題的 hotfix如需有關 SQL Server 更新的命名結構描述的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

822499新命名的結構描述為 Microsoft SQL Server 軟體更新套件的如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

824684 描述 Microsoft 軟體更新所使用的標準術語說明

需要更多協助嗎?

想要其他選項嗎?

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

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

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×