Мгновенная инициализация: проверка реального эффекта
Проверяйте IFI в Windows, различайте данные и журнал и измеряйте рост и восстановление без обещания нулевой задержки.
Медленное восстановление может тратить время на подготовку файлов до копирования полезных данных. Мгновенная инициализация исключает часть обнуления для подходящих операций с файлами данных. Она не делает хранилище бесконечно быстрым, а включённый флаг не доказывает пользу для любой операции.
Точное определение среды
Речь идёт о SQL Server в Windows. Перед испытанием запишите версию, учётную запись службы, состояние IFI и шифрование базы. Linux и управляемые сервисы имеют другие механизмы; инструкции назначения прав Windows нельзя переносить автоматически.
SELECT SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('Edition') AS Edition;
SELECT servicename,service_account,instant_file_initialization_enabled
FROM sys.dm_server_services;
SELECT name,is_encrypted FROM sys.databases WHERE database_id=DB_ID();
DMV требует диагностических разрешений соответствующей версии. Смотрите строку Database Engine. Флаг показывает возможность экземпляра; конкретная база и операция всё ещё определяют применимость. Зашифрованная база отличается от незашифрованного учебного примера.
В Windows подходящая инициализация использует право Perform volume maintenance tasks учётной записи либо SID службы. Назначение SID Database Engine уменьшает зависимость от сменяемого имени учётной записи. После изменения прав необходим перезапуск службы. Проверьте журнал запуска вместо предположения, что изменение политики сразу повлияло на работающий процесс.
Различия данных и журнала
Исторически журнал не получал того же преимущества. Начиная с SQL Server 2022, автоматические расширения журнала до 64 MB включительно могут использовать IFI, а более крупные не получают этот эффект. Исключение не обещает мгновенность произвольного создания, восстановления или большого ручного расширения журнала.
TDE препятствует IFI для файлов данных в документированном поведении; исключение небольшого расширения журнала может сохраняться. Не снимайте шифрование ради скорости. Измеряйте защищённую нагрузку и заранее выделяйте место, исключая зависимость обычной работы от аварийного роста.
Шаг 64 MB не становится автоматически лучшей стратегией. Быстрая потребность в гигабайтах создаст множество расширений. Заранее задайте ожидаемый размер и выбирайте рост с учётом повторного использования и восстановления.
Измерение нужной операции
На отдельной базе и сопоставимом хранилище сравните контролируемое расширение с включённой и выключенной возможностью, соблюдая необходимые перезапуски. Размер, путь, шифрование и параллельная нагрузка должны быть сопоставимы. Не заполняйте производственный том только ради демонстрации настройки.
Запишите время и события расширения. Для восстановления измеряйте подготовку, чтение копии, распаковку, запись и recovery. Устранение одной фазы может сделать другую основной. Ускоренная инициализация не означает пропорционального уменьшения полного времени восстановления.
IFI также изменяет момент перезаписи прежнего дискового содержимого. Ограничивайте доступ к подключённым и отсоединённым файлам и резервным копиям. Это часть политики хранения, а не повод выдавать широкие административные права.
Полезное доказательство объединяет версию, действующие настройки, применимость и измеренный эффект нужного процесса. Закрепите результат в стандарте и проверяйте после смены учётной записи, замены хоста или переключения. Проверяйте все возможные хосты, а не только активный. Одинаковое название политики не гарантирует одинаковых эффективных прав. Добавьте полное восстановление с настоящим шифрованием, не экстраполируя маленький лабораторный файл. Отдельно зафиксируйте конфигурацию аварийного сервера: его разрешения могут отличаться от основного. При планировании времени восстановления используйте именно измерения целевой площадки. Намерение настроить IFI не заменяет проверку работающей среды и фактической операции.
Исключение небольшого автоматического роста журнала, появившееся в SQL Server 2022, не требует права Windows, применяемого для инициализации файлов данных. Сохраняйте это различие в проверке, чтобы не делать неверных выводов из состояния общего флага службы.
Техническая документация: Microsoft Learn: Instant file initialization · Microsoft Learn: Service diagnostics.