Применяется к
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 2017 Developer Windows SQL Server 2017 Enterprise Windows SQL Server 2017 Enterprise Core Windows SQL Server 2017 Standard Windows

Проблемы

При запуске Microsoft SQL Server 2016 и 2017, если пользователь попытается выполнить чтобы подключиться к базе данных перед ее запуском, пользовательский сеанс может вызвать Автоматическое начало базы данных. В этом случае, если база данных имеет FileTable и имеет включенную NON_TRANSACTED_ACCESS FILESTREAM, а уровень базы данных — Не удается получить доступ к каталогу FileTable после запуска базы данных. Если вы попытаетесь получить доступ к папке с помощью проводника, это может указывать на то, что папка недоступен. При запуске команды dir из командной строки возвращается сообщение "система не может найти указанный файл".

Кроме того, в журнале ошибок могут появляться указанные ниже ошибки, указывающие на то, что сеанс пользователя активировал базу данных для автоматического запуска.

DateTime Ошибка входа: 18456, уровень серьезности: 14, состояние: 38.

DateTime Не удалось войти в систему с именем пользователя. Причина: не удалось открыть указанную явным образом базу данных "имя_базы_данных". [Клиент: IPNumber]

Статус

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

Решение

Эта проблема исправлена в перечисленных ниже накопительных обновлениях для SQL Server.

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

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

Обходное решение

Временное решение этой проблемы — отключение и повторное включение non_transacted_access FILESTREAM для базы данных.

ALTER DATABASE [имя_базы_данных] Set SINGLE_USER с немедленной инструкцией ROLLBACK

ALTER DATABASE [имя_базы_данных] Set FILESTREAM (NON_TRANSACTED_ACCESS = Off)

ALTER DATABASE [имя_базы_данных] Set FILESTREAM (NON_TRANSACTED_ACCESS = Full)

ALTER DATABASE [имя_базы_данных] Set MULTI_USER с немедленной инструкцией ROLLBACK

Ссылки

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

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

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

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