KB4073393. ИСПРАВЛЕНИЕ: ошибка "Область данных, переданная в системный вызов, слишком мала" при запуске приложения мост для классических приложений на SQL Server

Применяется к
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard

Сводка

При запуске приложения мост для классических приложений (например, классического приложения, упаковав его как приложение для Windows) на сервере под управлением Microsoft SQL Server приложение не запускается, и появляется следующее сообщение об ошибке:

Примечание

Область данных, передаваемая в системный вызов, слишком мала.

Причина

Эта проблема возникает из-за неправильного взаимодействия между двумя драйверами фильтров, в частности WCNFS (мост для классических приложений) и драйвером RsFxXXXX.sys (SQL Server системным драйвером FILESTREAM). Системный драйвер RsFx не учитывает флаги, передаваемые драйвером WCNFS. Это приводит к сбоям при запуске любого мост для классических приложений приложения.

Дополнительные сведения

Это улучшение включается в следующие накопительные обновления для SQL Server:

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

Накопительный пакет обновления 3 для SQL Server 2017 г.

Накопительный пакет обновления 11 для SQL Server 2014 с пакетом обновления 2 (SP2)

Сведения о накопительных обновлениях для SQL Server:

Каждое новое накопительное обновление для SQL Server содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущее накопительное обновление. Ознакомьтесь с последними накопительными обновлениями для SQL Server:

Последнее накопительное обновление для SQL Server 2016 г.

Последнее накопительное обновление для SQL Server 2014 г.

Последнее накопительное обновление для SQL Server 2017 г.

Дополнительные сведения

Это улучшение включено в следующее исправление по запросу для SQL Server:

Обновление исправлений по запросу для SQL Server 2012 с пакетом обновления 4 (SP4)

Ссылки

Сведения о терминологии, используемой корпорацией Майкрософт для описания обновлений программного обеспечения.

Дополнительные сведения о мост для классических приложений и обходных решениях этой проблемы см. в этой статье блога MSSQL Tiger Team.