При создании новой базы данных в SQL Server 2008 должны ли параметры FILEGROWTH наследоваться от базы данных модели? - PullRequest
0 голосов
/ 05 сентября 2011

В SQL Server база данных «модель», очевидно, действует как своего рода шаблон при создании новых баз данных.Кажется, что некоторые свойства этой базы данных наследуются новой базой данных.Однако я наблюдаю, что свойства FILEGROWTH не наследуются новыми базами данных.

Этот (несколько старый) пост предполагает, что это должно быть унаследовано:

Чтобы изменить настройки по умолчаниюдля будущих баз данных внесите изменения в базу данных модели.

http://weblogs.sqlteam.com/tarad/archive/2008/09/11/File-Growth-Settings-for-SQL-Server-Databases.aspx

Однако в этом посте кто-то по сути задает аналогичный вопрос: http://www.sqlservercentral.com/Forums/Topic1065073-391-1.aspx

Поэтому мой вопрос заключается в том, как свойства FILEGROWTH базы данных модели могут влиять на новые базы данных;и изменилось ли это поведение между версиями SQL Server?

1 Ответ

1 голос
/ 05 сентября 2011

В документации для CREATE DATABASE есть, что сказать о параметре SIZE:

Если для первичного файла не указан размер, компонент Database Engine использует размер первичного файла в базе данных модель . Если указан дополнительный файл данных или файл журнала, но для файла не указан размер, компонент Database Engine делает файл 1 МБ. Размер, указанный для основного файла, должен быть не меньше основного файла базы данных модели.

Принимая во внимание, что для параметра FILEGROWTH написано:

Если FILEGROWTH не указан, значение по умолчанию составляет 1 МБ для файлов данных и 10% для файлов журналов, а минимальное значение составляет 64 КБ.


Документация для SQL Server 2000 CREATE DATABASE также согласуется с тем, что она не относится к модель :

Если FILEGROWTH не указан, значение по умолчанию составляет 10 процентов, а минимальное значение составляет 64 КБ


Оригинальный ответ:

Читая страницу MSDN в базе данных модели , вы можете сделать вывод , что ответ отрицательный, он не наследуется. Во-первых, у нас есть:

Когда выдается оператор CREATE DATABASE, первая часть базы данных создается путем копирования содержимого базы данных модели. Остальная часть новой базы данных затем заполняется пустыми страницами.

Это будет означать, что файлы базы данных для новой базы данных уже существуют до использования модель . Кроме того:

Следующие операции не могут быть выполнены с базой данных модели:

  • Добавление файлов или файловых групп.

Если новая база данных была создана путем точного дублирования файловых структур на диске и последующего клонирования строк sys.database_files в базе данных master , это ограничение не требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...