MS SQL Server

Процесс создания базы данных в системе SQL-сервера состоит из двух этапов: сначала организуется сама база данных, а затем принадлежащий ей журнал транзакций. Информация размещается в соответствующих файлах, имеющих расширения *.mdf (для базы данных) и *.ldf. (для журнала транзакций). В файле базы данных записываются сведения об основных объектах, а в файле журнала транзакций – о процессе работы с транзакциями (контроль целостности данных, состояния базы данных до и после выполнения транзакций).

Создание базы данных в системе MS SQL Server осуществляется командой CREATE DATABASE.

CREATE DATABASE <db_name>
[ ON
[ PRIMARY ]
[ <filespec> [,...n ]
[,<filegroup> [,...n ] ]
[ LOG ON { <filespec> [,...n ] } ] ]

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

Параметр ON определяет список файлов на диске для размещения информации, хранящейся в базе данных.

Параметр PRIMARY определяет первичный файл. Если он опущен, то первичным является первый файл в списке.

Параметр LOG ON определяет список файлов на диске для размещения журнала транзакций. Если параметр LOG ON не указан, автоматически создается один файл журнала, размер которого определяется большей из следующих двух величин: 512 КБ или 25 процентов от суммы размеров всех файлов с данными в базе данных. Имя файла для журнала транзакций в этом случае генерируется путем добавления к имени базы данных суффикса _log.

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

<filespec> ::=
NAME = <logical_file_name>,
FILENAME = { '<os_file_name>' | '<filestream_path>' }
[, SIZE = <size> [ KB | MB | GB | TB ] ]
[, MAXSIZE = {<max_size> [ KB | MB | GB | TB ] | UNLIMITED } ]
[, FILEGROWTH = <growth_increment> [ KB | MB | GB | TB | % ] ] )
[,...n ]

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

Параметр FILENAME определяет физическое имя файла, предназначенное для указания полного пути и названия соответствующего физического файла, который будет создан на жестком диске. Это имя останется за файлом на уровне операционной системы.

Параметр SIZE определяет первоначальный размер файла; минимальный размер параметра – 512 Кб, если он не указан, по умолчанию принимается 1 Мб.

Параметр MAXSIZE определяет максимальный размер файла базы данных. При значении параметра UNLIMITED максимальный размер базы данных ограничивается свободным местом на диске.

При создании базы данных можно разрешить или запретить автоматический рост ее размера (это определяется параметром FILEGROWTH) и указать приращение с помощью абсолютной величины в Мб или процентным соотношением.

IDevice IconПример

Создать базу данных db_sales для хранения данных о продажах, причем для данных определить три файла на диске C, для журнала транзакций – два файла на диске C.

MS SQL:
CREATE DATABASE db_sales
ON PRIMARY ( NAME=db_sales1,FILENAME=’c:\user\data\saledat1.mdf’, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),
(NAME=
db_sales2,FILENAME=’c:\user\data\saledat2.mdf’,SIZE=100MB, MAXSIZE=200, FILEGROWTH=20),
(NAME=
db_sales3,FILENAME=’c:\user\data\saledat3.mdf’,SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)
LOG ON
(NAME=salelog1, FILENAME=’c:\user\data\salelog1.ldf’,SIZE=100MB, MAXSIZE=200,FILEGROWTH=20),
(NAME=salelog2,FILENAME=’c:\user\data\salelog2.ldf’,SIZE=100MB, MAXSIZE=200, FILEGROWTH=20)