Резервную копию базы данных master необходимо создавать каждый раз при создании, изменении или удалении пользовательской базы данных.
Инструкция CREATE DATABASE должна выполняться в режиме автоматической фиксации (режим управления транзакциями по умолчанию) и не может применяться в явной или неявной транзакции. Дополнительные сведения см. в разделе Автоматическая фиксация транзакций.
Одной инструкцией CREATE DATABASE можно создать базу данных и файлы, в которых хранится база данных. Инструкция CREATE DATABASE реализуется в SQL Server с использованием следующих шагов.
-
Компонент SQL Server использует копию базы данных model для инициализации базы данных и ее метаданных.
-
Базе данных назначается идентификатор GUID компонента Service Broker.
-
Затем компонент Database Engine заполняет остальную часть базы данных пустыми страницами, за исключением страниц, содержащих внутренние данные с описанием способа использования пространства в базе данных. Дополнительные сведения см. в разделе Инициализация файлов базы данных.
В экземпляре SQL Server может быть задано не более 32 767 баз данных.
У каждой базы данных есть владелец, который может выполнять специальные действия в базе данных. Владельцем является пользователь, создавший базу данных. Владельца базы данных можно изменить с помощью процедуры sp_changedbowner.
Файлы и файловые группы базы данных
В каждой базе данных имеется по крайней мере 2 файла (первичный файл и файл журнала транзакций) и по крайней мере одна файловая группа. Для каждой базы данных может указываться не более 32 767 файлов и 32 767 файловых групп. Дополнительные сведения см. в разделе Архитектура файлов и файловых групп.
При создании базы данных файлы данных следует делать как можно большего размера, в соответствии с максимальным предполагаемым объемом данных в базе данных. Дополнительные сведения см. в разделе Использование файлов и файловых групп для контроля роста базы данных.
Рекомендуется использовать сеть хранения данных (SAN), сеть на основе iSCSI или локально подключенный диск для хранения файлов базы данных SQL Server, так как в этой конфигурации достигаются оптимальные производительность и надежность SQL Server. По умолчанию в SQL Server не используются сетевые файлы базы данных (хранимые на сетевом сервере или в хранилище, подключенном к сети). Однако можно создать базу данных с сетевыми файлами, используя флаг трассировки 1807. Дополнительные сведения об этом флаге трассировки и важные рекомендации по повышению производительности и обслуживанию см. на веб-узле корпорации Майкрософт.
Моментальные снимки базы данных
С помощью инструкции CREATE DATABASE можно создать статическое представление, доступное только для чтения (моментальный снимок базы данных) существующей базы данных (базы данных-источника). Моментальный снимок базы данных соответствует базе данных-источнику на уровне транзакций в том виде, в котором она существовала в момент создания моментального снимка. База данных-источник может иметь несколько моментальных снимков.
Примечание. |
|---|
|
При создании моментального снимка инструкция CREATE DATABASE не может обращаться к файлам журналов, автономным файлам, восстанавливаемым файлам и несуществующим файлам.
|
Если создание моментального снимка базы данных не удается, моментальный снимок помечается как подозрительный и подлежит удалению. Дополнительные сведения см. в разделе DROP DATABASE (Transact-SQL).
Каждый моментальный снимок существует до тех пор, пока не будет удален с помощью инструкции DROP DATABASE.
Дополнительные сведения см. в разделе Моментальные снимки базы данных.
Параметры базы данных
Каждый раз при создании базы данных автоматически устанавливаются несколько параметров базы данных. Список этих параметров и их значения по умолчанию см. в разделе Установка параметров базы данных. Эти параметры можно изменить с использованием инструкции ALTER DATABASE.
База данных model и создание новых баз данных
Все пользовательские объекты в базе данных model копируются во вновь создаваемые базы данных. В базу данных model можно добавлять любые объекты, такие как таблицы, представления, хранимые процедуры, типы данных и т.д., которые войдут в состав всех вновь созданных баз данных.
Если инструкция CREATE DATABASE database_name указана без дополнительных параметров размера, создается первичный файл данных того же размера, что и первичный файл в базе данных model.
Если не указан параметр FOR ATTACH, то каждая новая база данных наследует значения параметров из базы данных model. Например, параметр базы данных auto shrink имеет значение true в базе данных model и во всех вновь создаваемых базах данных. Если изменить параметры в базе данных model, то эти новые параметры будут использоваться во вновь создаваемых базах данных. Операции, вносящие изменения в базу данных model, не влияют на существующие базы данных. Если параметр FOR ATTACH задан в инструкции CREATE DATABASE, то новая база данных наследует значения параметров исходной базы данных.
Просмотр сведений о базе данных
Для возврата сведений о базах данных, файлах и файловых группах можно использовать представления каталогов, системные функции и системные хранимые процедуры. Дополнительные сведения см. в разделе Просмотр метаданных базы данных.