修正:"沒有函式 ' {urn:schemas-microsoft-com:xml-sql}:variable() 」 更新的 XML 資料行在 SQL Server 2005 中,SQL Server 2008年或 SQL Server 2008 R2 值的 XQuery 查詢錯誤

適用於: SQL Server 2008 R2SQL Server 2008Microsoft SQL Server 2005

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

徵狀


當您執行的 XQuery 查詢,以更新的 XML 資料行在 Microsoft SQL Server 2005,Microsoft SQL Server 2008年中,或在 Microsoft SQL Server 2008 R2 值時,則不會執行 XQuery 查詢。 此外,您還會收到類似下列的錯誤訊息:
錯誤 '沒有函式' {urn:schemas-microsoft-com:xml-sql}:variable()'
例如,下列查詢會更新TestCol資料行的值不會執行:
use test DECLARE @TestIdentity INT SET @TestIdentity = 100 UPDATE dbo.TestTable SET TestCol.modify('replace value of (/ROOT/b/@ID)[1] with sql:variable("@TestIdentity")') FROM dbo.TestTable2 tbl2 INNER JOIN dbo.TestTable tbl ON tbl2.aID = tbl.aID And tbl2.bID = @TestIdentity
注意若要解決這個問題,您可能必須重新啟動 SQL Server 2005 或 SQL Server 2008年的執行個體。

解決方案


累積更新資訊

SQL Server 2008 R2 Service Pack 1

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

SQL Server 2008 R2

這個問題的修正程式首次發表累積的更新 13] 中。如需有關如何取得此累積更新套件的 SQL Server 2008 R2 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2679366 SQL Server 2008 R2 的累積的更新套件 13
答 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 發行之後所發行的

SQL Server 2008 Service Pack 3

SQL Server 2008 Service Pack 3 的第一次這個問題的修正程式釋放累積的更新 4] 中。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2673383 SQL Server 2008 Service Pack 3 的累積更新套件 4
答 5: 針對 Windows Server 2016 和 Windows 10 1709 版的 Windows Server 容器映像而發行的更新,包含適用於這組弱點的緩和措施,並且不需要額外設定。 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,並隨附於先前的 SQL Server 2008年所有安全性修正程式會都修正版本。 Microsoft 建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2629969 SQL Server 2008年建置 SQL Server 2008 Service Pack 3 發行之後所發行的
Microsoft SQL Server 2008 hotfix 會建立特定的 SQL Server service pack。 您必須將 SQL Server 2008 Service Pack 3 hotfix 套用至的 SQL Server 2008 Service Pack 3 安裝。 根據預設,SQL Server service pack 中所提供的任何 hotfix 併入下一步的 SQL Server service pack。

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

SQL Server 2008 R2

這個問題的修正程式首次發表累積的更新 11] 中。如需有關如何取得此累積更新套件的 SQL Server 2008 R2 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2633145 SQL Server 2008 R2 的累積的更新套件 11
答 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 發行之後所發行的

SQL Server 2008 Service Pack 2

SQL Server 2008 Service Pack 2 的第一次這個問題的修正程式釋放累積的更新 7] 中。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2617148 SQL Server 2008 Service Pack 2 的累積更新套件 7
答 5: 針對 Windows Server 2016 和 Windows 10 1709 版的 Windows Server 容器映像而發行的更新,包含適用於這組弱點的緩和措施,並且不需要額外設定。 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,並隨附於先前的 SQL Server 2008年所有安全性修正程式會都修正版本。 Microsoft 建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2402659 SQL Server 2008年建置 SQL Server 2008 Service Pack 2 已發行之後所發行的
Microsoft SQL Server 2008 hotfix 會建立特定的 SQL Server service pack。 您必須將 SQL Server 2008 Service Pack 2 hotfix 套用至 SQL Server 2008 Service Pack 2 的安裝。 根據預設,SQL Server service pack 中所提供的任何 hotfix 併入下一步的 SQL Server service pack。

SQL Server 2008 Service Pack 1

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

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

SQL Server 2008 Service Pack 1

SQL Server 2008 Service Pack 1 的第一次這個問題的修正程式釋放累積的更新 14] 中。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2527187 SQL Server 2008 Service Pack 1 的累積更新套件 14
答 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 的第一次這個問題的修正程式釋放累積的更新 4] 中。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2527180 SQL Server 2008 Service Pack 2 的累積更新套件 4
答 5: 針對 Windows Server 2016 和 Windows 10 1709 版的 Windows Server 容器映像而發行的更新,包含適用於這組弱點的緩和措施,並且不需要額外設定。 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,並隨附於先前的 SQL Server 2008年所有安全性修正程式會都修正版本。 Microsoft 建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2402659 SQL Server 2008年建置 SQL Server 2008 Service Pack 2 已發行之後所發行的
Microsoft SQL Server 2008 hotfix 會建立特定的 SQL Server service pack。 您必須將 SQL Server 2008 Service Pack 2 hotfix 套用至 SQL Server 2008 Service Pack 2 的安裝。 根據預設,SQL Server service pack 中所提供的任何 hotfix 併入下一步的 SQL Server service pack。

SQL Server 2008 Service Pack 3

SQL Server 2008 Service Pack 3 的第一次這個問題的修正程式釋放累積的更新 4] 中。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2673383 SQL Server 2008 Service Pack 3 的累積更新套件 4
答 5: 針對 Windows Server 2016 和 Windows 10 1709 版的 Windows Server 容器映像而發行的更新,包含適用於這組弱點的緩和措施,並且不需要額外設定。 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,並隨附於先前的 SQL Server 2008年所有安全性修正程式會都修正版本。 Microsoft 建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2629969 SQL Server 2008年建置 SQL Server 2008 Service Pack 3 發行之後所發行的
Microsoft SQL Server 2008 hotfix 會建立特定的 SQL Server service pack。 您必須將 SQL Server 2008 Service Pack 3 hotfix 套用至的 SQL Server 2008 Service Pack 3 安裝。 根據預設,SQL Server service pack 中所提供的任何 hotfix 併入下一步的 SQL Server service pack。

SQL Server 2008 R2

這個問題的修正程式首次發表累積的更新 7] 中。如需有關如何取得此累積更新套件的 SQL Server 2008 R2 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2507770 SQL Server 2008 R2 的累積的更新套件 7
答 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 發行之後所發行的

SQL Server 2005 Service Pack 4

SQL Server 2005 的 Service Pack 4 的第一次這個問題的修正程式釋放累積的更新 3] 中。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2507769 SQL Server 2005 的 Service Pack 4 的累積更新套件 3
答 5: 針對 Windows Server 2016 和 Windows 10 1709 版的 Windows Server 容器映像而發行的更新,包含適用於這組弱點的緩和措施,並且不需要額外設定。 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,和先前的 SQL Server 2005 隨附的所有安全性修正都修正版本。 Microsoft 建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2485757 SQL Server 2005 建置 SQL Server 2005 的 Service Pack 4 發行之後所發行的
Microsoft SQL Server 2005年的 hotfix 會建立特定的 SQL Server service pack。 您必須將 SQL Server 2005 的 Service Pack 4 hotfix 套用至 SQL Server 2005 的 Service Pack 4 的安裝。 根據預設,SQL Server service pack 中所提供的任何 hotfix 併入下一步的 SQL Server service pack。

SQL Server 2005 Service Pack 3

SQL Server 2005 的 Service Pack 3 的第一次這個問題的修正程式釋放中累積的更新 15。如需有關此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2507766 SQL Server 2005 的 Service Pack 3 的累積更新套件 15
答 5: 針對 Windows Server 2016 和 Windows 10 1709 版的 Windows Server 容器映像而發行的更新,包含適用於這組弱點的緩和措施,並且不需要額外設定。 因為組建是累計的每個新的修正程式版本會包含所有的 hotfix,和先前的 SQL Server 2005 隨附的所有安全性修正都修正版本。 Microsoft 建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
960598 SQL Server 2005 建置 SQL Server 2005 的 Service Pack 3 發行之後所發行的
Microsoft SQL Server 2005年的 hotfix 會建立特定的 SQL Server service pack。 您必須將 SQL Server 2005 的 Service Pack 3 hotfix 套用至的 SQL Server 2005 的 Service Pack 3 安裝。 根據預設,SQL Server service pack 中所提供的任何 hotfix 併入下一步的 SQL Server service pack。

狀態


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

參考


如需有關如何查詢 XQuery 查詢中的 XML 資料類型的詳細資訊,請造訪下列 MSDN 網站:如需 SQL Server 的累加式的服務模型的相關資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
935897 累加式的服務模型位於 SQL Server 小組製作報告的問題的 hotfix
如需有關 SQL Server 更新的命名結構描述的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
822499 新命名的結構描述為 Microsoft SQL Server 軟體更新套件的
如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
824684 描述 Microsoft 軟體更新所使用的標準術語說明