Создать новую базу данных с большим начальным размером

8

Я хочу создать новую базу данных с файлом данных 200 .mdfГБ ( ) и файлом журнала 50 ГБ ( .ldf).

Но это очень медленно (около 15 минут и до сих пор не создано). и это очень много времени. Это нормально? если да, что для этого нужно время? я могу увеличить скорость его создания?

Я использую SQL Server 2008 R2, Windows Server 2008R2, 16 ГБ оперативной памяти (которую я ограничил до 12 ГБ в ssms) и процессор Core i7

Мехрдад Камелзаде
источник
2
Для создания большой базы данных вы гораздо более ограничены дисковым вводом / выводом, чем что-либо еще. Если IFI включен (согласно ответам), то вы можете пропустить инициализацию (обнуление) файла данных, но независимо от того, что вам нужно для инициализации файла журнала. Если вы используете обычный потребительский спинниг, это может занять до получаса только для одного файла журнала.
Саймон Ригартс

Ответы:

17

Если вы не используете мгновенную инициализацию файлов , SQL Server должен обнулять все сектора для файлов. Это очень трудоемкий процесс, особенно для 250 ГБ (данные + журнал). Чтобы ускорить процесс, включите эту функцию, и тогда SQL Server не обнулит пространство для файлов данных.

Обратите внимание, что SQL Server всегда обнуляет файл журнала , поэтому вы все равно будете этим ограничены. Еще одна ссылка для инициализации файла журнала

Майк Фал
источник
что именно происходит на жестком диске, когда zero out all sectorsи почему SQL всегда обнуляет файл журнала? в чем преимущество этого?
Мехрдад Камелзаде
Это процесс удаления данных на вашем диске. По сути, мгновенная инициализация файла пропускает это. Однако из-за того, как файл журнала работает внутри, SQL Server должен полностью обнулить его, чтобы использовать его. Вы можете найти более подробную информацию об этом здесь .
Майк Фал
@MehrdadKamelzadeh Файл обнуления SQL-сервера применяется ТОЛЬКО к файлам данных . Файлы журнала не могут быть инициализированы с нуля. Обратитесь к ( sqlskills.com/blogs/paul/… ). Также обратитесь к разделу Как узнать, включена ли у вас мгновенная инициализация? ( sqlskills.com/blogs/paul/… ).
Кин Шах
1
@Kin - файлы журнала должны быть инициализированы нулями, но с помощью IFI вы можете пропустить инициализацию файлов данных нулями.
Саймон Ригартс
7

Если вы бежите , secpol.mscчто это значение для местного эзотерика, Назначение прав пользователя, Perform Volume Maintenance Tasks?

На данный момент я предполагаю, что учетная запись службы SQL Server не имеет этого права и поэтому обнуляет mdf и LDF. Невозможно обойти обнуление LDF, но вы можете пропустить его для MDF.

SecPol

Ссылка - http://timradney.com/2012/05/30/instant-file-initialization-for-sql-server-performance/

billinkc
источник