Снижение производительности в SQL Server при использовании EFS для шифрования файлов базы данных

Применяется к: SQL Server
Исходный номер базы знаний: 922121

Симптомы

При использовании шифруемой файловой системы (EFS) для шифрования файлов базы данных в SQL Server производительность некоторых функций SQL Server снижается. Например, функции для чтения иконтрольных точек .

Причина

Эта проблема возникает из-за того, что асинхронные запросы ввода-вывода от SQL Server преобразуются в синхронные операции ввода-вывода для файла базы данных, зашифрованного EFS. Дополнительные сведения см. в статье Асинхронный диск ввода-вывода в Windows как синхронный . Во время операции ввода-вывода рабочий поток ожидает завершения операции ввода-вывода. Когда поток ожидает операции ввода-вывода, планировщик SQL Server будет приостановлен до тех пор, пока текущий рабочий поток не продолжит работу. Таким образом, рабочие потоки, которые остаются в планировщике, будут находиться в ожидании, пока первый рабочий поток не продолжит операцию ввода-вывода. Однако для асинхронного ввода-вывода поток запрашивает ввод-вывод и продолжает выполнять другие задачи.

Примечание.

Асинхронные операции ввода-вывода по-прежнему синхронны из-за сжатия файловой системы новой технологии (NTFS). Драйвер файловой системы не будет обращаться к сжатым файлам асинхронно. Вместо этого все операции выполняются синхронно.

Обходной путь

SQL Server предлагает множество технологий шифрования, таких как прозрачное шифрование данных (TDE),Always Encrypted и функции Transact-SQL для шифрования на уровне столбцов. Рассмотрите возможность использования этих функций шифрования вместо EFS.

Примечание.

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

Ссылки

Настройка безопасной файловой системы