ИСПРАВЛЕНИЕ: При запуске сценария Transact-SQL в шаге задания агента SQL Server в SQL Server 2005 или SQL Server 2008, результирующий сценарий Transact-SQL может быть усечено

Переводы статьи Переводы статьи
Код статьи: 955695 - Vizualiza?i produsele pentru care se aplic? acest articol.
Важные Эта статья содержит сведения об изменении реестра. Убедитесь, что резервную копию реестра перед внесением изменений. Убедитесь, что знаете, как восстановить реестр в случае возникновения проблем. Для получения дополнительных сведений о том, как резервное копирование, восстановлении и изменении реестра щелкните следующий номер статьи базы знаний Майкрософт:
322756 Резервное копирование и восстановление реестра Windows
Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2005 как один загружаемый файл. Так как исправления являются накопительными, каждый выпуск содержит все исправления и исправить все исправления безопасности, которые вошли в состав SQL Server 2005 release.
Развернуть все | Свернуть все

В этой статье

Проблема

Рассмотрим следующую ситуацию.
  • В Microsoft SQL Server 2005 или SQL Server 2008 запустите сценарий Transact-SQL в шаге задания агента SQL Server.
  • На шаге первая инструкция возвращает сообщение об ошибке.
  • Более поздние инструкции также возвращают одно или несколько сообщений об ошибке.
В этом случае при запуске задания агента SQL Server может оказаться выше инструкций не обрабатываются и шаг ошибочно сообщает состояние успеха. Результаты последующих инструкций, усекаются.

Причина

Агент SQL Server 2005 использует драйвер собственного клиента SQL (Sqlncli.dll) для подключения к экземпляру SQL Server 2005. Агент SQL Server 2000 использует драйвер ODBC для SQL Server (Sqlsrv32.dll) для подключения к Microsoft SQL Server 2000. Изменение ошибка маркер потока (TDS) табличных данных, возвращаемых из SQL Server агент SQL Server вызывает разницу в поведении между двумя драйверами. Результатом различий в поведении между двумя версиями агента SQL Server.

Решение

SQL Server 2005

Исправление этой уязвимости первого выпуска в накопительном обновлении 9. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2005 с пакетом обновления 2 щелкните следующий номер статьи базы знаний Майкрософт:
953752 Накопительный пакет обновлений 9 для SQL Server 2005 с пакетом обновления 2
Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления и исправить все исправления безопасности, которые вошли в состав SQL Server 2005 release. Корпорация Майкрософт рекомендует их применение самую последнюю версию исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
937137 SQL Server 2005 выполняет построение, выпущенных после пакета обновления 2 (SP2) для SQL 2005
Исправления Microsoft SQL Server 2005 создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление SQL Server 2005 с пакетом обновления 2 для установки SQL Server 2005 с пакетом обновления 2. По умолчанию какие-либо исправления, входящее в пакет обновления SQL Server включены в следующий пакет обновления SQL Server.

SQL Server 2008

Исправление этой уязвимости является частью versiom RTM SQL Server 2008. Тем не менее чтобы применить исправление, по-прежнему возможно для внесения изменений, описанных в разделе «Дополнительная информация».

Временное решение

Чтобы обойти эту проблему, добавьте фиктивную инструкцию SELECT в качестве первой инструкции в действии.

Статус

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

Дополнительная информация

Предупреждение При неправильном изменении реестра с помощью редактора реестра или иным способом могут возникнуть серьезные проблемы. Эти проблемы могут потребовать переустановки операционной системы. Корпорация Майкрософт не гарантирует эти проблемы. Изменения в реестр на ваш собственный риск.
Включение данного исправления, необходимо создать следующий параметр реестра и равным 0, этот параметр реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<mssql.x>\SQLServerAgent\TruncateJobResultOnError<b00></b00></mssql.x>

Примечание В этой записи реестра <mssql.x></mssql.x>Представляет идентификатор экземпляра SQL Server. Вы должны изменить правильное значение для экземпляра.

Если требуется отключить данное исправление реестра TruncateJobResultOnError присвоено значение 1.

Действия по воспроизведению проблемы

  1. Создание расширенной хранимой процедуры. Например можно создайте образец, расширенную хранимую процедуру с именем xp_hello.
  2. Создать задание агента SQL Server, а затем добавьте следующие инструкции на шаге задания агента SQL Server:
    declare @txt int
    exec xp_hello @txt OUTPUT
    RAISERROR('One or more operations failed to complete.', 16, 1)
    
  3. Выполнение задания агента SQL Server.
Когда xp_hello расширенная хранимая процедура возвращает ошибку первого уровня серьезности и параметр TruncateJobResultOnError имеет значение 0, шаг задания помечен как неисправный. Результаты расширенной хранимой процедуры и инструкции RAISERROR xp_hello фиксируются в журнале работ. Проверьте журнал задания можно найти, уровень серьезности шагов равно 16.

Когда xp_hello расширенная хранимая процедура возвращает ошибку первого уровня серьезности и параметр TruncateJobResultOnError равен 1, шаг задания помечается как успешно. Результат расширенной хранимой процедуры xp_hello фиксируются в журнале работ. Результат инструкции RAISERROR усекается. Проверьте журнал задания можно найти, уровень серьезности действий является 1.

Когда xp_hello расширенная хранимая процедура возвращает ошибку уровня серьезности 11 и параметр TruncateJobResultOnError имеет значение 0, шаг задания помечен как неисправный. Результаты xp_hello расширенной хранимой процедуры и инструкции RAISERROR, будут записываться в журнал работ. Проверьте журнал задания можно найти, уровень серьезности шагов равно 16.

Когда xp_hello расширенная хранимая процедура возвращает ошибку уровня серьезности 11 и параметр TruncateJobResultOnError равен 1, шаг задания помечен как неисправный. Результат расширенной хранимой процедуры xp_hello записываться в журнал задания. Результат инструкции RAISERROR усекается. Проверьте журнал задания можно найти, уровень серьезности действий-11.

Для получения дополнительных сведений о разнице в уровень важности сообщения об ошибках щелкните следующие номера статей базы знаний Майкрософт:
309802ИСПРАВЛЕНИЕ: Вызов инструкции RAISERROR в пакет Transact-SQL может вызвать задания SQLAgent сбоя и потери выходных данных в SQL Server
903086 ИСПРАВЛЕНИЕ: Пакетное задание останавливается, и вывод задания усекается при запуске сценария Transact-SQL как задание агента SQL Server в SQL Server 2000
Для получения дополнительных сведений об изменении файлов и сведения о требованиях для применения в накопительный пакет обновления, содержащий исправление, описанное в данной статье базы знаний Майкрософт щелкните следующий номер статьи базы знаний Майкрософт:
953752 Накопительный пакет обновлений 9 для SQL Server 2005 с пакетом обновления 2

Ссылки

Для получения дополнительных сведений о списке сборок, которые будут доступны после пакета обновления 2 (SP2) для SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
937137 SQL Server 2005 выполняет построение, выпущенных после пакета обновления 2 (SP2) для SQL 2005
Для получения дополнительных сведений о добавочных модель обслуживания для SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
935897 Доступные группы разработчиков SQL Server для исправления ошибок, о которой сообщалось в добавочной модель обслуживания
Для получения дополнительных сведений о получении пакета обновления 2 для SQL Server 2005 щелкните следующий номер статьи базы знаний Майкрософт:
913089 Как получить последний пакет обновления для SQL Server 2005
Для получения дополнительных сведений о новых возможностях и улучшениях в SQL Server 2005 с пакетом обновления 2 посетите следующий веб-узел корпорации Майкрософт:
http://go.Microsoft.com/fwlink/?LinkId = 71711
Для получения дополнительных сведений о схеме именования обновлений SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
822499 Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL Server
Для получения дополнительных сведений о терминологии, обновление программного обеспечения щелкните следующий номер статьи базы знаний Майкрософт:
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Свойства

Код статьи: 955695 - Последний отзыв: 16 июня 2011 г. - Revision: 3.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
Ключевые слова: 
kbsql2005tool kbfix kbpubtypekc kbqfe kbexpertiseadvanced kbmt KB955695 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:955695

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com