Инициализация файлов базы данных

Файлы данных и журналов инициируются для перезаписи всех существующих данных, оставшихся на диске от ранее удаленных файлов. Файлы данных и журналов инициализируются путем их заполнения нулями при выполнении одной из следующих операций:

  • создание базы данных;

  • добавление в существующую базу данных файлов журнала или данных;

  • увеличение размера существующего файла (с использованием операций авторасширения);

  • восстановление базы данных или файловой группы.

Инициализация файлов приводит к тому, что эти операции выполняются дольше. Однако когда данные записываются в файлы впервые, операционной системе не нужно заполнять файлы нулями.

Быстрая инициализация файлов

В SQL Server файлы данных могут быть инициализированы немедленно. Это обеспечивает возможность быстрого проведения указанных операций с файлами. Во время быстрой инициализации файлов место на диске резервируется, но не заполняется нулями. Вместо этого новые данные записываются в файлы поверх содержимого диска. Файлы журналов не могут быть инициализированы таким способом.

ПримечаниеПримечание

Быстрая инициализация файлов доступна только в Microsoft Windows XP Professional, Windows Server 2003 или более поздних версиях.

Быстрая иницилизация файлов доступна только в том случае, если учетной записи службы SQL Server (MSSQLSERVER) предоставлено разрешение SE_MANAGE_VOLUME_NAME. Члены группы администраторов Windows имеют это право и могут предоставлять его другим пользователям, добавив их в политику безопасности Выполнение задач обслуживания тома Дополнительные сведения о назначении прав пользователей см. в документации Windows.

Быстрая инициализация файлов недоступна при включенном TDE.

Соображения безопасности

Так как удаленное содержимое диска переписывается только тогда, когда новые данные записываются в файл, доступ к удаленному содержимому могут получить неавторизированные участники. Так как файл базы данных прикреплен к экземпляру сервера SQL Server, такая угроза раскрытия информации снижается благодаря списку управления доступом (DACL) для файла. Этот список DACL позволяет осуществлять доступ к файлу только учетной записи службы SQL Server и местному администратору. Однако при отсоединении файла к нему смогут обращаться пользователи или службы, не имеющие разрешения SE_MANAGE_VOLUME_NAME. Подобная угроза существует также, когда выполняется резервное копирование базы данных. Удаленное содержимое может стать доступным неавторизованному пользователю или службе, если файл резервного копирования не защищен соответствующим списком DACL.

При высокой вероятности раскрытия удаленного содержимого необходимо обеспечение одного из следующих действий или условий, либо их обоих:

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

  • Для экземпляра SQL Server отключить быструю инициализацию файлов отменой разрешения SE_MANAGE_VOLUME_NAME для учетной записи службы SQL Server.

ПримечаниеПримечание

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