Ласкаво просимо до dev.net.ua Увійти | Приєднатися | Допомога | Увійти Live ID

Denis Reznik's blog

Блог о SQL Server и технологиях Microsoft

SQL Server: миф дня (3/30) – В SQL Server можно управлять мгновенной инициализацией файлов

        Итак, на подходе третий миф, встречайте!

Миф №3 – Мгновенная инициализация файлов может быть a) включена и b) выключена из SQL Server

        a) FALSE b) TRUE соответственно

        Мгновенная инициализация – не очень известная возможность SQL Server (2005/2008), которая позволяет избежать инициализации файла данных (неприменимо к файлам лога транзакций) нулями при операциях с ним (создание БД, увеличение размера БД, и т.д.). Это потрясающий способ уменьшить время простоя при восстановлении после сбоя, когда нужно восстанавливать базу с нуля – так как создание файлов не будет занимать часы (возможно) для инициалиции нулями до того, как начнётся сама операция восстановления.

        Вы *не можете* включить мновенную инициализацию файлов из SQL Server, т.к. SQL Server проверяет только один раз (при старте) то, что у пользователя под которым запущена служба SQL Server есть необходимые права на уровне операционной системы (Perform Volume Maintenance Tasks a.k.a. SE_MANAGE_VOLUME_NAME) и что мгновенная инициация файлов включена для экземпляра. На эту тему есть отличный пост Kimberly Tripp - Instant Initialization - What, Why, and How, в котором подробно рассказывается об этой возможности и о том как её включить.

         Вы *можете* проверить включена ли мновенная инициализация файлов из SQL Server. Для этого нужно включить флаг трассировки 3004 (и 3605 для того, чтобы output писался в errorlog), после чего создать новую базу данных. В errorlog вы увидите сообщения о том, что файл лога инициализирован нулями. Если мгновенная инициализация файлов НЕ включена, в логе также будут видны сообщения о том, что файл данных инициализирован нулями.

        Вы *можете* выключить мновенную инициализацию файлов из SQL Server (но только временно). Включение флага трассировки 1806 отключит мгновенную инициализацию файлов, пока флаг будет включён. Для полного отключения необходимо отключить необходимые права на уровне операционной системы.

        Если у вас есть возможность включить эту функциональность – включите её!

Об авторе:

Пол С. Рэндал (Paul S. Randal) — генеральный директор SQLskills.com является MVP по SQL Server. Он работал в группе подсистемы хранилища SQL Server в корпорации Майкрософт с 1999 по 2007 г. Пол является автором DBCC CHECKDB/восстановления SQL Server 2005 и в ходе разработки SQL Server 2008 отвечал за программу базовой подсистемы хранилища. Пол является специалистом по аварийному восстановлению, высокой доступности и обслуживанию базы данных и часто дает презентации на различных конференциях по всему миру. Он ведет блог по адресу SQLskills.com/blogs/paul.

Ссылки по теме:

- Оригинал статьи

- Мгновенная инициализация - Что, Почему и Как

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

- Misconceptions around instant file initialization

 

photo of Денис РезникДенис Резник
.Net Team Lead at LPP Soft
Trainer at Microsoft Innovation Center
Харьков, Украина

photo of Денис Резник

Опубліковані 26-06-2010 11:58 від Denis Reznik
Зареєстрований як , , , , , ,

Коментарі

Немає коментарів
Анонімні коментарі деактивовані. Увійдіть або Зареєструйтесь щоб мати доступ до ресурсів Спільноти.

Новини

twitter

Календар повідомлень

<June 2010>
SMTWTFS
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

Пошук

Go

Категорії повідомлень

Синдикація

SkinName:iroha_Blog2