Исправление: «нет функции "{urn:schemas-microsoft-com:xml-sql}:variable() «Ошибка запроса XQuery, обновляет значение столбца XML в SQL Server 2005, SQL Server 2008 или SQL Server 2008 R2

Применимо к: SQL Server 2008 R2SQL Server 2008Microsoft SQL Server 2005

Корпорация Майкрософт распространяет Microsoft SQL Server 2005, Microsoft SQL Server 2008 или Microsoft SQL Server 2008 R2 устраняет как один загружаемый файл. Так как исправления являются накопительными, каждый выпуск содержит все исправления и все исправления, входившие в состав предыдущих 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.

Решение


Сведения о накопительном пакете обновления

Пакет обновления 1 для SQL Server 2008 R2

Исправление этой уязвимости первого выпуска накопительного обновления 6 для SQL Server 2008 R2 Пакет обновления 1. Дополнительные сведения о том, как получить этот накопительный пакет обновления, щелкните следующий номер статьи базы знаний Майкрософт:
2679367 Накопительный пакет обновления 6 для SQL Server 2008 R2 Пакет обновления 1
Примечание. Поскольку сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления, входившие в состав предыдущих выпусков исправлений SQL Server 2008 R2 . Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2567616 Сборки SQL Server 2008 R2, выпущенные после выхода SQL Server 2008 R2 с пакетом обновления 1 (SP1)

SQL Server 2008 R2

Исправление этой проблемы сначала было выпущено в 13 накопительного обновления. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 щелкните следующий номер статьи базы знаний Майкрософт:
2679366 Накопительный пакет обновления 13 для SQL Server 2008 R2
Примечание. Поскольку сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления, входившие в состав предыдущих выпусков исправлений SQL Server 2008 R2 . Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
981356 Сборки SQL Server 2008 R2, которые были выпущены после выпуска SQL Server 2008 R2

Пакет обновления 3 для SQL Server 2008

Исправление этой уязвимости первого выпуска в накопительное обновление 4 для SQL Server 2008 Пакет обновления 3. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
2673383 Накопительное обновление 4 для SQL Server 2008 Пакет обновления 3
Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Корпорация Майкрософт рекомендует учесть применение последний выпуск исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2629969 SQL Server 2008 выполняет построение, выпущенных после Пакет обновления 3 для SQL Server 2008
Исправления Microsoft SQL Server 2008 создаются для определенных пакетов обновления SQL Server. Необходимо установить Пакет обновления 3 для SQL Server 2008 исправление установки обновления Пакет обновления 3 для SQL Server 2008. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

Пакет обновления 1 для SQL Server 2008 R2

Исправление этой уязвимости первого выпуска в накопительное обновление 4 для SQL Server 2008 R2 Пакет обновления 1. Дополнительные сведения о том, как получить этот накопительный пакет обновления, щелкните следующий номер статьи базы знаний Майкрософт:
2633146 Накопительное обновление 4 для SQL Server 2008 R2 Пакет обновления 1
Примечание. Поскольку сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления, входившие в состав предыдущих выпусков исправлений SQL Server 2008 R2 . Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2567616 Сборки SQL Server 2008 R2, выпущенные после выхода SQL Server 2008 R2 с пакетом обновления 1 (SP1)

SQL Server 2008 R2

Исправление этой проблемы сначала было выпущено в накопительное обновление 11. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 щелкните следующий номер статьи базы знаний Майкрософт:
2633145 Накопительный пакет обновления 11 для SQL Server 2008 R2
Примечание. Поскольку сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления, входившие в состав предыдущих выпусков исправлений SQL Server 2008 R2 . Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
981356 Сборки SQL Server 2008 R2, которые были выпущены после выпуска SQL Server 2008 R2

Пакет обновления 2 для SQL Server 2008

Исправление этой уязвимости первого выпуска накопительного обновления 7 для SQL Server 2008 Пакет обновления 2. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
2617148 Накопительный пакет обновления 7 для SQL Server 2008 Пакет обновления 2
Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Корпорация Майкрософт рекомендует учесть применение последний выпуск исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2402659 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008 Пакет обновления 2
Исправления Microsoft SQL Server 2008 создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление SQL Server 2008 Пакет обновления 2 для установки Пакет обновления 2 для SQL Server 2008. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

Пакет обновления 1 для SQL Server 2008

Исправление этой уязвимости первого выпуска накопительного обновления 16 для SQL Server 2008 Пакет обновления 1. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
2582282 Накопительный пакет обновления 16 для SQL Server 2008 Пакет обновления 1
Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Корпорация Майкрософт рекомендует учесть применение последний выпуск исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
970365 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008 Пакет обновления 1
Исправления Microsoft SQL Server 2008 создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление SQL Server 2008 Пакет обновления 1 для установки SQL Server 2008 Пакет обновления 1. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

Пакет обновления 1 для SQL Server 2008 R2

Исправление этой уязвимости первого выпуска накопительного обновления 1 для SQL Server 2008 R2 Пакет обновления 1. Дополнительные сведения о том, как получить этот накопительный пакет обновления, щелкните следующий номер статьи базы знаний Майкрософт:
2544793 Накопительный пакет обновления 1 для SQL Server 2008 R2 Пакет обновления 1
Примечание. Поскольку сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления, входившие в состав предыдущих выпусков исправлений SQL Server 2008 R2 . Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2567616 Сборки SQL Server 2008 R2, выпущенные после выхода SQL Server 2008 R2 с пакетом обновления 1 (SP1)

Пакет обновления 1 для SQL Server 2008

Исправление этой уязвимости первого выпуска накопительного обновления 14 для SQL Server 2008 Пакет обновления 1. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
2527187 Накопительный пакет обновления 14 для SQL Server 2008 Пакет обновления 1
Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Корпорация Майкрософт рекомендует учесть применение последний выпуск исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
970365 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008 Пакет обновления 1
Исправления Microsoft SQL Server 2008 создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление SQL Server 2008 Пакет обновления 1 для установки SQL Server 2008 Пакет обновления 1. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

Пакет обновления 2 для SQL Server 2008

Исправление этой уязвимости первого выпуска в накопительное обновление 4 для SQL Server 2008 Пакет обновления 2. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
2527180 Накопительное обновление 4 для SQL Server 2008 Пакет обновления 2
Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Корпорация Майкрософт рекомендует учесть применение последний выпуск исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2402659 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008 Пакет обновления 2
Исправления Microsoft SQL Server 2008 создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление SQL Server 2008 Пакет обновления 2 для установки Пакет обновления 2 для SQL Server 2008. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

Пакет обновления 3 для SQL Server 2008

Исправление этой уязвимости первого выпуска в накопительное обновление 4 для SQL Server 2008 Пакет обновления 3. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
2673383 Накопительное обновление 4 для SQL Server 2008 Пакет обновления 3
Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 выпуска исправлений. Корпорация Майкрософт рекомендует учесть применение последний выпуск исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2629969 SQL Server 2008 выполняет построение, выпущенных после Пакет обновления 3 для SQL Server 2008
Исправления Microsoft SQL Server 2008 создаются для определенных пакетов обновления SQL Server. Необходимо установить Пакет обновления 3 для SQL Server 2008 исправление установки обновления Пакет обновления 3 для SQL Server 2008. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

SQL Server 2008 R2

Исправление этой уязвимости первого выпуска накопительного обновления 7. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 щелкните следующий номер статьи базы знаний Майкрософт:
2507770 Накопительный пакет обновления 7 для SQL Server 2008 R2
Примечание. Поскольку сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления, входившие в состав предыдущих выпусков исправлений SQL Server 2008 R2 . Мы рекомендуем рассмотреть применение последнего выпуска исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
981356 Сборки SQL Server 2008 R2, которые были выпущены после выпуска SQL Server 2008 R2

Пакет обновления 4 для SQL Server 2005

Исправление этой уязвимости первого выпуска накопительного обновления 3 для SQL Server 2005 Пакет обновления 4. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
2507769 Накопительный пакет обновления 3 для SQL Server 2005 Пакет обновления 4
Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2005 исправление выпуска. Корпорация Майкрософт рекомендует учесть применение последний выпуск исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2485757 SQL Server 2005 выполняет построение, выпущенных после Пакет обновления 4 для SQL Server 2005
Исправления для Microsoft SQL Server 2005 создаются для определенных пакетов обновления SQL Server. Необходимо установить Пакет обновления 4 для SQL Server 2005 исправление установки Пакет обновления 4 для SQL Server 2005. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

Пакет обновления 3 для SQL Server 2005

Исправление этой уязвимости первого выпуска накопительного обновления 15 для Пакет обновления 3 для SQL Server 2005. Дополнительные сведения о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
2507766 Накопительный пакет обновления 15 для Пакет обновления 3 для SQL Server 2005
Примечание. Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2005 исправление выпуска. Корпорация Майкрософт рекомендует учесть применение последний выпуск исправления, содержащего это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
960598 SQL Server 2005 выполняет построение, выпущенных после Пакет обновления 3 для SQL Server 2005
Исправления для Microsoft SQL Server 2005 создаются для определенных пакетов обновления SQL Server. Необходимо установить Пакет обновления 3 для SQL Server 2005 исправление установки обновления Пакет обновления 3 для SQL Server 2005. По умолчанию какие-либо исправления, включенный в пакет обновления SQL Server включено в следующий пакет обновления SQL Server.

Статус


Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

Ссылки


Дополнительные сведения о том, как запросить тип данных XML в запросе XQuery посетите следующий веб-узел MSDN:Дополнительные сведения о добавочных модель обслуживания для SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
935897 Модель обслуживания изменений, используемая рабочей группой SQL Server, предоставляет модель ISM для распространения исправлений обнаруженных проблем
Дополнительные сведения о схеме именования для обновления SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
822499 Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL Server
Для получения дополнительных сведений о терминологии обновлений программного обеспечения щелкните следующий номер статьи базы знаний Майкрософт:
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт