Шаг 2 - Создание и удаление БД

В SQL Server'е базы данных хранятся в виде обычных файлов на диске. Как минимум на одну БД приходится таких файлов 2: *.mdf и *.ldf. В первом хранятся сами данные, таблицы, индексы и пр., а во втором находится т.н. transaction log, в котором находится информация необходимая для восстановления БД.

Как можно создать новую БД? Это можно сделать 2 способами:

Первый вариант прост и нагляден. Второй - удобен при распространении Ваших замечательных продуктов, использующих MS SQL Server, поскольку позволяет создать БД без нажатия разных кнопок.

Использование SQL Server Enterprise Manager

  1. Залогиньтесь на Ваш компьютер как Administrator или как пользователь, входящий в локальную группу Administrators
  2. Запустите SQL Server Enterprise Manager.
  3. Раскройте Вашу группу SQL серверов. Затем раскройте Ваш SQL сервер. (раскрыть - значит щелкнуть мышкой на "+" в дереве объектов Enterprise Manager).
  4. Щелкните на Вашем сервере.
  5. В меню Tools выберите пункт Wizards.... В появившемся окне раскройте пункт Database, щелкните на Create Database Wizard и нажмите Ok.
    На экране появится окно "волшебника" по созданию БД. Жмем "Next"
  6. На этом шаге "волшебник" поинтересуется у Вас именем БД, а также местом ее расположения на необъятных просторах Ваших дисков :) Проще говоря нужно указать название БД (лучше не использовать русские буквы в имени БД), а также расположение файлов .mdf и .ldf
    Я назвал ее гордым именем SQLStepByStep и в дальнейшем буду на нее так и ссылаться.
  7. Теперь от Вас потребуется указать начальный размер БД и имя файла для хранения данных. укажите размер сколько Вам не жалко для экспериментов. IMHO, 5 МБ будет вполне достаточно. Имя файла тоже вполне произвольно. Например, я ввел sqlStep.
  8. Этот шаг называется: "Определение роста БД", т.е. требуется определить как будет (и будет ли) изменяться размер БД по мере добавления данных. Даны две группы опций:
    • Do not automatically grow the database files - запретить автоматический рост файлов БД
    • Automatically grow the database file - автоматический рост файлов БД, выбрано по умолчанию. Пусть так и будет.
    В случае автоматического роста файлов можно задать прирост БД в мегабайтах или в процентах (по умолчанию стоит 10%). Кроме того можно ограничить или неограничивать максимальный размер БД (по умолчанию - неограниченно). Выбор тех или иных значений зависит от назначения БД, интенсивности и характера ее использования, т.е. от Ваше конкретной задачи. Как правильно (с моей колокольни :) выбрать эти параметры мы рассмотрим позднее, в шагах посвященных вопросам оптимизации.
  9. С параметрами файла данных определились, теперь требуется определиться с параметрами лога. Они точно такие же. Обязательно введите имя файла лога отличное от имени файла БД, просто добавьте к нему Log
  10. Нажмете "Next" и можно посмотреть на итоговый отчет. Если все в порядке нажмите "Finish" БД и создастся. Об этом вы получите сообщение, а затем Вам будет предложено создать maintenance plan нам сейчас не нужен, поэтому откажитесь.

Использование SQL оператора CREATE DATABASE

Оператор CREATE DATABASE может повторить все ваши действия, описанные выше. Собственно Enterprise Manager "перевел" ваши нажатия в этот оператор и передал его SQL Server'у. Почти все функции Enterprise Manager'а именно так и выполняются: у пользователя запрашиваются данные, формируется оператор замечательного языка SQL (который мы рассмотрим позднее) и передается для выполнения SQL Server, а результаты выполнения показывают пользователю.

Рассмотрим поближе синтаксис оператора CREATE DATABASE.

CREATE DATABASE database_name
[ON
    { [PRIMARY] (NAME = logical_file_name,
        FILENAME = 'os_file_name'
        [, SIZE = size]
        [, MAXSIZE = max_size]
        [, FILEGROWTH = growth_increment] )
    } [,...n]
]
[LOG ON
    { ( NAME = logical_file_name,
        FILENAME = 'os_file_name'
        [, SIZE = size] )
    } [,...n]
]
[FOR RESTORE]
FILENAME - полный путь и имя файла для размещения БД, должен указывать на локальный диск компьютера, на котором установлен SQL Server.
SIZE - начальный размер каждого файла в Мб.
MAXSIZE - максимальный размер файла в Мб, если не указана размер не ограничивается.
FILEGROWTH - единица увеличения файла, указывается в Мб (по умолчанию) или в процентах (т.е. к числу добавляется %), значение 0 запрещает увеличение файла.
Теперь посмотрим как выглядит создание БД:
CREATE DATABASE SQLStepByStep
ON
	PRIMARY (NAME=SQLStepData, 
	FILENAME='c:\mssql7\data\sqlstep_data.mdf', 
	SIZE=5, 
	MAXSIZE=10,
	FILEGROWTH=10% )
LOG ON (
	NAME=SQLStepLog,
	FILENAME='c:\mssql7\data\sqlstep_log.ldf', 
	SIZE=1, 
	MAXSIZE=5,
	FILEGROWTH=1
	)

Чтобы проверить эту команду, запустите Query Analyzer - очень полезная утилита, для выполнения SQL запросов. Подключитесь к Вашему серверу и в окне ввода команд наберите этот оператор. Отправьте запрос на выполнение (клавишей F5 или Ctrl-E или щелкните мышкой на кнопке с зеленой стрелкой). Все пошуршит и вскоре внизу, в окне сообщений, появится сообщение о том что БД создана успешно (или нет).

Все что мы создали можно и уничтожить. Удаление БД очень просто, как говорится "ломать не строить". SQL оператор:

DROP DATABASE <имя бд>
Набирается в Query Analyzer и запускается на выполнение. Фю-ю-и-ить, и БД уже нет.
В Enterprise Manager'e выберите БД щелкните правой кнопкой мыши и в контекстном меню выберите "Delete" и все... пропало.

На следующем этапе мы рассмотрим создание таблиц,типы данных в Transact-SQL.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Aidar Talibzhanov - 10.12.99