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年,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 軟體更新所使用的標準術語說明

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!

×