Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2012 в одном загружаемом файле. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и все обновления для системы безопасности, которые были включены в предыдущий выпуск обновления для SQL Server 2012.

Проблемы

Предположим, что вы одновременно запускаете несколько хранимых процедур xp_cmdshell для нескольких сеансов в Microsoft SQL Server 2012. В этой ситуации первое выполнение хранимой процедуры xp_cmdshell не завершается, пока не завершится выполнение последнего выполнения.

Причина

Эта проблема возникает из-за того, что дескриптор наследуется процессами, которые открываются при выполнении xp_cmdshell хранимые процедуры. Чтобы перенаправить стандартный вывод и сообщение об ошибке, в API-интерфейсе CreateProcess требуется дескриптор наследования. Если одновременно выполняются несколько запусков хранимой процедуры xp_cmdshell , вновь открытые процессы могут наследовать дескриптор из существующих процессов. Однако хранимая процедура xp_cmdshell ожидает, пока дескриптор не будет закрыт всеми открытыми процессами. Таким образом, когда несколько процессов наследуют дескриптор, все выполнения xp_cmdshell должны подождать, пока дескриптор не закроется самым длительным процессом.

Решение

Чтобы устранить эту проблему, установите следующее накопительное обновление. Это обновление добавляет параметры STARTUPINFOEX API для CreateProcess, предотвращающие наследование дескрипторов для разных процессов.

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

Накопительный пакет обновления 1 (SP1) для SQL Server 2012 с пакетом обновления 1 (SP1)

Исправление для этой проблемы впервые выпущено в накопительном обновлении 1. За дополнительными сведениями о том, как получить этот накопительный пакет обновления для SQL Server 2012 с пакетом обновления 1 (SP1), щелкните следующий номер статьи базы знаний Майкрософт:

2765331 Накопительный пакет обновления 1 (SP1) для SQL Server 2012 с пакетом обновления 1 (SP1)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2772858 Сборки SQL Server 2012, выпущенные после выпуска пакета обновления 1 (SP1) для SQL Server 2012

SQL Server 2012

Исправление для этой проблемы впервые выпущено в накопительном обновлении 4. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2012, щелкните следующий номер статьи базы знаний Майкрософт:

2758687 Накопительный пакет обновления 4 для SQL Server 2012Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2692828 Сборки SQL Server 2012, выпущенные после выпуска SQL Server 2012

Статус

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

Ссылки

Дополнительные сведения о функции CreateProcess можно найти на веб-сайте MSDN по следующему адресу:

Общие сведения о функции CreateProcessДля получения дополнительных сведений о xp_cmdshell сохраненных процедурах перейдите на следующий веб-сайт MSDN:

Общие сведения о xp_cmdshell хранимой процедуры Чтобы получить дополнительные сведения о подобной ошибке, щелкните следующий номер статьи базы знаний Майкрософт:

315939 PRB: дочерние объекты наследуют непредусмотренные дескрипторы во время вызова CreateProcess.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×