Программирование в Microsoft SQL Server 2000

         

Использование прилагаемого программного обеспечения


В прилагаемом к курсу программном обеспечении содержатся учебные файлы, которые вы будете использовать для выполнения упражнений. При использовании учебных файлов вам не придется тратить время на создание баз данных и ввод необходимой информации. Вместо этого вы сможете сосредоточить свое внимание на работе с Microsoft SQL Server 2000 и изучении его возможностей. Последовательное выполнение над файлами указанных в ходе урока действий является простым и эффективным методом освоения и закрепления полученных знаний и навыков.



Использование учебных файлов


Файлы учебной базы данных используются для выполнения всех уроков части с 1 по 4. Для уроков из части 5 предусмотрены свои учебные файлы. В каждом уроке объясняется, как и когда использовать файлы в ходе урока. Для выполнения уроков используется учебная база данных, имитирующая реальную ситуацию, поэтому вы легко сможете применить полученные при выполнении уроков навыки в вашей собственной работе.




В следующей таблице приведены основные особенности Microsoft SQL Server 2000. В таблице указан номер урока, в котором вы познакомитесь с той или иной особенностью.

Чтобы узнать о том, какСм.
Добавлять описание столбца в Enterprise Managerурок 5
Осуществлять каскадные изменения в главной таблице (таблице первичного ключа)урок 7
Создавать индекс для представленияурок 16
Реализовывать каскадные удаления для отношенияурок 19
Объявлять переменные с табличным типом данныхурок 25
Создавать триггеры INSTEAD OFурок 29
Создавать пользовательские функцииурок 30

С чего начать изучение


Microsoft SQL Server 2000 – это система управления реляционными базами данных (RDBMS) в топологии клиент/сервер, разработанная для обработки высокопроизводительных сетевых транзакций (OLTP), хранения данных и использования в приложениях электронной коммерции. Курс "Программирование в Microsoft SQL Server 2000 Шаг за шагом" поможет вам быстро освоить принципы создания и манипулирования базами данных с использованием интерактивных средств, входящих в состав SQL Server 2000 версий Personal, Standard и Enterprise.

Внимание! Этот курс предназначен для использования с SQL Server 2000, однако сама система не поставляется вместе с курсом. Прежде, чем приступить к выполнению уроков, вы должны приобрести и установить SQL Server 2000.

Этот курс предназначен как для читателей, вообще не знакомых с реляционными базами данных, так и для тех, которые имеют опыт работы с другими системами управления базами данных, такими как Microsoft Access, и хотели бы перейти к SQL Server 2000. Воспользуйтесь приведенной ниже таблицей, чтобы выбрать для себя план занятий.

Если вы ...Порядок действий
Не знакомы с системами реляционных баз данных

Установите учебные файлы, как описано в соответствующем разделе далее.Познакомьтесь с окружением SQL Server, проработав уроки с 1 по 5.Выполните уроки, содержащиеся в частях со 2 по 4.Выполните уроки из части 5 в соответствии с вашими интересами и опытом работы.

Ранее работали с другим продуктом управления базами данных

Установите учебные файлы, как описано в соответствующем разделе далее.Познакомьтесь с окружением SQL Server, проработав уроки с 1 по 5.Выполните остальные уроки в соответствии с вашими интересами и опытом работы.

Переходите с более ранней версии Microsoft SQL Server

Познакомьтесь с новыми возможностями SQL Server 2000, обратившись к разделу "Новые возможности SQL Server 2000".Установите учебные файлы, как описано в соответствующем разделе далее.Выполните уроки, в которых раскрываются интересующие вас темы. Для поиска информации по интересующим вас вопросам обратитесь к оглавлению или к предметному указателю.

Используете эту курс как справочное пособие после того, как проработали все уроки

Найдите интересующую вас информацию с помощью предметного указателя, либо воспользуйтесь оглавлением.Прочтите "Краткое содержание" в конце каждого из уроков для справки о том, какие действия выполнялись в ходе этого урока. Порядок описания действий в "Кратком содержании" совпадает с порядком их выполнения в ходе урока.





Требования к системе


Чтобы инсталлировать и запустить Microsoft SQL Server 2000, ваш компьютер должен иметь:

процессор Intel (или совместимый) Pentium с частотой не менее 166 МГц;минимум 64 Мб ОЗУ; для версии Enterprise Edition рекомендуется 128 Мб;минимум 95 Мб свободного дискового пространства; для типовой установки компонентов баз данных SQL Server требуется 250 Мб;минимум 50 Мб свободного дискового пространства; для типовой установки служб SQL Server Analysis Services требуется 130 Мб;80 Мб свободного дискового пространства для English Query;44 Мб свободного дискового пространства для Desktop Engine;монитор с разрешением минимум 800Х600;мышь и устройство чтения CD-ROM;Microsoft Internet Explorer версии 5.0 или выше.



Удаление учебных файлов


Выполните следующие действия, если вы хотите удалить учебные файлы. Имейте в виду, что для полного удаления учебных файлов вам необходимо отключить базу данных Aromatherapy от SQL Server.

В панели задач Windows нажмите кнопку Start (Пуск), укажите на Settings (Настройка), а затем щелкните на Control Panel (Панель управления).

Внимание! В Windows 2000 возможно отобразить содержимое панели управления Control Panel непосредственно из стартового меню. Если ваш компьютер сконфигурирован подобным образом, пункт Control Panel (Панель управления) будет отображен в качестве подменю в меню Settings (Настройка).

Дважды щелкните на значке Add/Remove Programs (Установка и удаление программ).Выберите SQL 2000 Step by Step из списка, а затем нажмите кнопку Add/Remove (Установка/Удаление). (В Windows 2000 нажмите кнопку Change/Remove.) Появится сообщение с запросом на подтверждение.Нажмите кнопку Yes (Да). Учебные файлы будут удалены.Нажмите ОК, чтобы закрыть диалоговое окно Add/Remove Programs Properties (Установка и удаление программ).Закройте окно Control Panel (Панель управления), если необходимо.



Установка учебных файлов


Для установки учебных файлов требуется примерно 6,21 Мб дискового пространства. Выполните последующие действия для установки учебных файлов на жесткий диск вашего компьютера.

Внимание! Чтобы установить учебные файлы, вы должны обладать достаточными привилегиями безопасности для SQL Server, который вы используете. Если вы не имеете имени пользователя или пароля для SQL Server, либо столкнулись с какими-либо проблемами в процессе установки, обратитесь к вашему системному администратору.

Загрузите программное обеспечение с сайта и распакуйте. Запустите программу установки.Щелкните на Install Practice Files (Установить учебные файлы) и следуйте появляющимся на экране инструкциям.По завершении установки файлов на вашем жестком диске будет создана папка SQL 2000 Step by Step, в которую будут помещены учебные файлы.Запустите утилиту Enterprise Manager SQL Server.Раскройте группу Microsoft SQL Server в левой панели, а затем раскройте группу серверов, содержащую сервер, который вы будете использовать для выполнения уроков.

Внимание! Узнайте у вашего системного администратора, какой сервер и группу серверов вам следует использовать.

Щелкните правой кнопкой мыши на папке Databases сервера, который вы используете для выполнения упражнений, укажите на All Tasks (Все задачи) и выберите Attach Database (Подключить базу данных). SQL Server отобразит диалоговое окно Attach Database (Подключить базу данных).Нажмите кнопку Browse (Обзор). SQL Server отобразит диалоговое окно Browse for Existing File (Просмотр файлов).Перейдите к папке SQL 2000 Step by Step, выделите Aromatherapy.mdf, а затем нажмите ОК. SQL Server заполнит место размещения файла данных и файла журнала транзакций.Нажмите ОК. SQL Server отобразит сообщение, подтверждающее, что база данных была успешно подключена.

Внимание! Помимо установки учебных файлов, программа Setup создает на вашем рабочем столе ярлык для ссылки на сайт Microsoft World Wide Web. Если ваш компьютер подключен к Internet, вы можете дважды щелкнуть на ярлыке и посетить Web-сайт Microsoft Press. Вы также можете непосредственно обратиться к сайту World Wide Web, воспользовавшись адресом http://mspress.microsoft.com/.



Дерево консоли Console Tree в Enterprise Manager


Дерево консоли Console Tree в Enterprise Manager показывает список всех объектов SQL Server, известных Enterprise Manager.

Примечание. Объекты, отображаемые в дереве консоли в Enterprise Manager вашей системы, могут не соответствовать объектам в примерах из этого курса. Не беспокойтесь насчет этого, это просто означает, что ваш системный администратор сконфигурировал SQL Server как-то иначе.

При изучении дальнейших уроков вам потребуется работать с большинством элементов из дерева консоли Console Tree. Таблица 1-2 содержит краткое описание каждой папки, содержащей основные объекты дерева.

Таблица 1-2. Основные объекты в дереве консоли Enterprise Manager.

ЗначокПапкаОписание
Server GroupДля удобства администрирования один или более серверов сгруппированы вместе.
ServerЭкземпляр SQL Server зарегистрированный в Enterprise Manager.
DatabaseКоллекция таблиц и других элементов, которые хранят определенный набор структурированных данных.
Data Transformation ServicesНабор графических инструментов и программных объектов, позволяющих извлекать, изменять и объединять данные.
ManagementНабор графических инструментов и программных объектов для управления SQL Server.
ReplicationНабор графических инструментов и программных объектов, позволяющих копировать данные и объекты базы данных и передавать их из одной базы данных в другую.
SecurityНабор графических инструментов и программируемых объектов для управления доступом в SQL Server.
Support ServicesРазнообразные утилиты для управления SQL Server.
Meta Data ServicesУтилиты для сопровождения метаданных (данных о данных) для баз данных.



Краткое содержание


Чтобы...Сделайте следующееКнопка или значок
Запуск Enterprise ManagerНажмите на кнопку Start (Пуск) в панели задач. В Programs (Программы) выберите Microsoft SQL Server и нажмите на Enterprise Manager.
Регистрация сервераПравой кнопкой нажмите на группу сервера или на сервер в Console Tree. В контекстном меню нажмите на New SQL Server Registration.
Запуск сервераПравой кнопкой нажмите на сервер. В контекстном меню нажмите на Start (Запуск).
Приостановка сервераПравой кнопкой нажмите на сервер. В контекстном меню нажмите на Pause (Приостановить).
Остановка сервераПравой кнопкой нажмите на сервер. В контекстном меню нажмите на Stop (Остановить).
Расширение элементов в дереве объектовДва раза нажмите на иконку расширения слева от элемента.
Уменьшение элементов в дереве объектовДва раза нажмите на иконку уменьшения слева от элемента.
Выход из Enterprise ManagerВ меню Console нажмите Exit (Выход).



Объекты базы данных


Как показано ниже на рисунке, базы данных SQL Server существуют как часть дерева консоли Console Tree в SQL Server. Эти базы данных содержат различные объекты, определяющие данные, которые хранятся в базе данных, и маршруты для доступа к этим данным.


увеличить изображение

В дальнейшем мы подробно рассмотрим большинство из этих объектов, а пока они будут кратко описаны в Таблице 1-4.

Таблица 1-4. Объекты, содержащиеся в базах данных SQL Server.

ЗначокОбъектОписание
DiagramГрафическое представление таблиц в базе данных.
TableИнформация, сгруппированная в строки и столбцы.
ViewВиртуальная таблица, предоставляющая альтернативный метод просмотра информации в базе данных.
Stored ProcedureНабор команд Transact SQL, выполняющихся в пакетном режиме.
UserПользователь, идентифицируемый в системе для целей обеспечения безопасности.
RoleГруппа разрешений, используемых для целей обеспечения безопасности.
RuleОбъект базы данных, связанный со столбцом, или пользовательский тип данных, определяющий, какие данные могут быть введены в этот столбец.
DefaultЗначение, автоматически присваемое самой системой, если пользователь не предоставил его.
User Defined Data TypeТип данных, определенный пользователем для хранения данных специального типа.
User defined FunctionНабор команд Transact SQL, принимающих параметры и возвращающих результат.



Окончание урока


После окончания использования Enterprise Manager не забудьте выйти из программы перед отключением вашего компьютера.

Выход из Enterprise Manager

В меню Console (Консоль) нажмите Exit (Выход). Если появиться диалоговое окно Save (Сохранение), нажмите Yes (Да). Enterprise Manager будет закрыт.

Если вы хотите перейти к следующему уроку

Запустите Enterprise Manager снова и перейдите к уроку 2.

Если вы хотите закончить работу с Enterprise Manager

Если вы вышли из Enterprise Manager, вы готовы к отключению.



Регистрация сервера


При первом запуске Enterprise Manager он будет автоматически регистрировать все экземпляры SQL Server, выполняющиеся локально. Если же вы устанавливаете новый экземпляр SQL Server или соединяетесь с экземпляром SQL Server через локальную сеть, вы должны зарегистрировать его.

Примечание. Для регистрации экземпляра SQL Server вам необходимо знать имя сервера, тип аутентификации, используемый для входа на сервер, ваше имя пользователя (login) и пароль, и если необходимо, имя группы, в которую вы хотите зарегистрировать сервер. Если вы не знаете эту информацию, обратитесь за помощью к вашему системному администратору.



Системные базы данных


Дерево консоли Console Tree в Enterprise Manager всегда содержит четыре базы данных, которые использует собственно SQL Server. Эти базы данных называются системными базами данных. Их роли в SQL Server описаны в Таблице 1-3.

Внимание! Поскольку целостность системы базы данных имеет важное значение для успешной работы SQL Server, вы должны всегда использовать инструменты администрирования, предоставляемые Enterprise Manager или программным интерфейсом (SQL-DMO) для изменения содержимого баз данных master или msdb.

Руководствуйтесь принципом: смотрите, но не трогайте!

Таблица 1-3. Системные базы данных SQL Server

Системная база данныхНазначение
MasterБаза данных master записывает всю информацию, необходимую для управления системы SQL Server, включая учетную запись пользователя. База данных определена в пределах процессов системы и сервера. Таблицы, хранящиеся в базе данных master, называются системным каталогом.
ModelБаза данных model используется как шаблон при создании пользователем новой базы данных. По умолчанию, база данных model содержит таблицы, составляющие каталог базы данных, таблицы которые используются SQL Server для определения других объектов в пределах базы данных пользователя.
MsdbБаза данных msdb используется SQL Server Agent для составления расписания сопровождения задач, таких как оповещения и задания, и регистрации событий. Оповещения являются определяемыми пользователем событиями SQL Server. Задания являются рядом действий, выполняемых SQL Server Agent.
TempdbTempdb используется для временного сохранения данных. Ее содержимое автоматически очищается при выключении SQL Server. В действительности, все временные объекты, созданные пользователем, уничтожаются при выходе этого пользователя из системы.

Совет. Любые объекты, добавленные вами в базу данных model, будут автоматически добавляться в любые создаваемые вами новые базы данных. Это может быть удобно, если вы, например, захотите, чтобы некоторые пользователи или конфигурационные опции базы данных появлялись во всех новых базах данных.

Помните, однако, что любые объекты, добавленные вами в базу данных model, будут автоматически добавляться только в новые базы данных, но не в уже существующие.



Соединение с базой данных и выход из нее


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

Примечание. Если вы еще не установили файлы упражнений для этого курса, вернитесь к разделу "Установка учебных файлов" во Введении и только затем переходите к рассмотрению последующего материала урока.



Управление SQL Server


Перед тем, как вы сможете использовать SQL Server Enterprise Manager для создания новой базы данных или доступа к данным из существующей базы, вы сначала должны идентифицировать экземпляр сервера в Enterprise Manager, убедиться, что сервер запущен, и соединиться с базой данных, с которой вы будете работать.

Режимы безопасности SQL Server

SQL Server поддерживает два различных режима аутентификации при входе в систему, которые гарантирует, что только авторизованные пользователи будут иметь доступ к соответствующим данным – Windows Authentication и SQL Server Authentication. Microsoft рекомендует модель Windows Authentication, которая "прозрачно" допускает пользователей Microsoft Windows 2000 и Microsoft Windows NT в систему, используя их пароли и имена пользователей в операционной системе. Если вы используете модель SQL Server Authentication, сервер сам управляет аутентификацией пользователей, и пользователи должны вводить имя и пароль при соединении с базой данных.

В этом курсе предполагается, что ваш сервер будет использовать рекомендованную конфигурацию: Windows Authentication. Если ваш сервер использует аутентификацию SQL Server Authentication, то всякий раз при регистрации сервера или соединении с базой данных вам надо будет вводить имя и пароль для доступа. В этом случае введите имя и пароль, предоставленные вашим администратором, и затем нажмите OK.

Мы подробно рассмотрим вопросы безопасности SQL Server 2000 в уроке 3.



Вы научитесь:


запускать утилиту Enterprise Manager;регистрировать сервер;запускать и останавливать сервер;отображать объекты в дереве Enterprise Manager Console Tree;выходить из Enterprise Manager.



Запуск Enterprise Manager


Перед тем, как вы начнете выполнять задачи администрирования, вы должны запустить SQL Server Enterprise Manager. Управление Enterprise Manager будет осуществляться так же, как в любых других программах под Windows.

Запустите Enterprise Manager

Нажмите кнопку Start (Пуск) в панели задач Microsoft Windows.Выберите Programs (Программы) и затем папку Microsoft SQL Server. В открывшейся папке Microsoft SQL Server появится список значков.Нажмите на значке программы Enterprise Manager. Появится окно Enterprise Manager.


увеличить изображение

Enterprise Manager предоставляет инструменты, которые вам необходимы для администрирования SQL Server и для создания и сопровождения баз данных. Окно Enterprise Manager разделено на две панели: Console Tree (Дерево консоли) слева и Details Panel (Панель деталей) справа. Элементы в панели Console Tree расположены иерархически, как список папок в Microsoft Windows Explorer. Вы можете развернуть подчиненные элементы в иерархическом порядке, щелкнув мышью на значке развертывания

или убрать их, нажав на значке свертывания.

Примечание. Объекты, отображаемые в дереве консоли, когда вы запускаете Enterprise Manager, могут не соответствовать тем, которые представлены в примерах. Например, имя моего сервера BUNNY. Ваш сервер будет носить какое-то другое имя.

Не беспокойтесь на этот счет – это всего лишь означает, что ваш системный администратор сконфигурировал SQL Server как-нибудь иначе.



Запуск и остановка сервера


Перед тем, как вы сможете соединиться с экземпляром SQL Server, должна быть запущена служба. Вы сможете узнать запущена служба или нет, взглянув на значок сервера в дереве консоли в Enterprise Manager. Каждый из значков его смысл приведены в Таблице 1-1.

Таблица 1-1. Вид значка сервера показывает, запущен ли экземпляр SQL Server.

ЗначокОзначает
Сервер запущен
Сервер приостановлен
Сервер остановлен

Запустите сервер

Щелкните правой кнопкой мыши на сервере. Нажмите Start (Запуск) в появившемся контекстном меню.

Приостановите сервер

Щелкните правой кнопкой мыши на сервере. Нажмите Pause (Приостановить) в появившемся контекстном меню.

Остановите сервер

Щелкните правой кнопкой мыши на сервере. Нажмите Stop (Остановить) в появившемся контекстном меню.

Внимание! Перед тем, как продолжить работу над уроком, убедитесь, что используемый вами сервер запущен.



Зарегистрируйте сервер


Примечание. Если имя сервера отображено в дереве консоли Console Tree, то это означает, что он уже зарегистрирован с помощью Enterprise Manager, и вам не надо выполнять следующие действия. Пропустите этот раздел и переходите к следующему "Запуск и остановка сервера".

Щелкните правой кнопкой мыши на группе сервера в дереве консоли Console Tree. Появится контекстное меню.


увеличить изображение

В контекстном меню нажмите на New SQL Server Registration (Новая регистрация SQL Server). Появиться окно приглашения мастера регистрации Register SQL Server Wizard.


Совет. Вы также можете выбрать New SQL Server Registration (Новая регистрация SQL Server) из контекстного меню, отображаемого после щелчка правой кнопкой мыши на сервере в дереве консоли Console Tree.

Нажмите Next (Далее). Появиться первая страница мастера регистрации Register SQL Server Wizard со списком имен серверов, известных системе.


Если сервер, который вы хотите зарегистрировать, присутствует в списке, то выберите его в поле списка имен и нажмите Add (Добавить). Если имя сервера там отсутствует, то введите его имя в текстовом поле, а затем нажмите на кнопке Add (Добавить). Мастер отобразит сервер в поле Added Servers (Добавленные серверы).


Нажмите Next (Далее). Мастер отобразит окно, запрашивающее, какой метод идентификации вы выбираете.


Если ваш системный администратор сказал вам использовать аутентификацию SQL Server Authentication, щелкните на кнопке выбора The SQL Server Login Information That Was Assigned To Me By The System Administrator (SQL Server Authentication). При этом для входа будет использоваться информация, назначенная вам системным администратором.Нажмите Next (Далее).

Если вы выбрали аутентификацию SQL Server Authentication, то вам нужно будет ввести ваш идентификатор учетной записи и пароль. Введите эту информацию и нажмите Next (Далее).

Мастер отобразит экран, спрашивающий вас о том, какую вы выберите группу, в которую новый сервер должен быть добавлен.


Нажмите Next (Далее) для добавления сервера в группу по умолчанию. Мастер отобразит окно, сообщающее о том, что сервер добавлен.


Нажмите Finish (Готово). Мастер завершит задачи, необходимые для регистрации сервера, и отобразит окно подтверждения.


Нажмите Close (Закрыть).

Мастер Register SQL Server Wizard будет закрыт, а в дереве консоли Console Tree появиться новый сервер.

Совет. Вам нужно зарегистрировать экземпляр SQL Server только один раз. Enterprise Manager запоминает зарегистрированные серверы при следующем запуске программы.



Знакомство с Enterprise Manager


Утилита SQL Server Enterprise Manager является основным инструментом для администрирования SQL Server 2000. Используя графический интерфейс Enterprise Manager, вы можете:

задавать группы экземпляра SQL Server и регистрировать отдельные серверы в пределах группы;конфигурировать все опции SQL Server для каждого зарегистрированного сервера;создавать и администрировать все базы данных SQL Server, объекты, учетные записи, пользователей и разрешения для каждого зарегистрированного сервера;определять и выполнять все административные задачи SQL Server для каждого зарегистрированного сервера;просматривать содержимое таблиц и представлять их с помощью конструктора Query Designer;интерактивно разрабатывать и тестировать SQL операторы, пакеты и сценарии с помощью средства SQL Server Query Analyzer;использовать различные мастера SQL Server.

Microsoft Management Console

Microsoft Windows включает в себя утилиту Microsoft Management Console (MMC), которая предоставляет стандартную оболочку для управления приложениями сервера. Набор инструментов MMC, используемых для управления определенным сервером, носит название "консоль" (console). Чаще всего консоли серверов представляют собой присоединяемые модули (snap-in), и SQL Server Enterprise Manager, который вы используете для администрирования SQL Server 2000, не является исключением. За дополнительной информацией по MMC вы можете обратиться к справочной системе Windows Help, для этого нажмите кнопку Start (Пуск), выберите Help (Справка) и затем во вкладке Search (Поиск) наберите "Microsoft Management Console".



Использование мастера Database Maintenance Plan Wizard


Вы узнали, как делать резервные копии базы данных и как восстанавливать ее. Но резервные копии нужно создавать регулярно и возможно, что вы забудете это сделать. SQL Server предоставляет механизм для автоматического создания резервных копий по составленному расписанию. Для этого есть несколько способов, самый простой – это с помощью мастера планирования сопровождения базы данных Database Maintenance Plan Wizard.

Мастер Database Maintenance Plan Wizard позволяет создавать расписание для задач по сопровождению, которые должны регулярно выполняться. Наиболее важной из таких задач является обновление статистики базы данных.

SQL Server содержит информацию о статистическом распределении данных в виде таблиц. Эту информацию SQL Server использует для определения наиболее эффективных методов восстановления данных. Тем не менее, через некоторое время эти данные устаревают по мере того, как добавляются новые или стираются старые. SQL Server автоматически обновляет статистическую информацию, но вы можете настроить его с помощью мастера Database Maintenance Plan Wizard на обновление информации в определенное время. Также вы можете использовать мастер Database Maintenance Plan Wizard для составления расписания выполнения SQL Server регулярных проверок целостности. Это нижнеуровневая проверка физической целостности таблиц пользователя и системных таблиц. Наконец вы можете использовать мастер Database Maintenance Plan Wizard для настройки режима переноса журнала. Этот метод автоматически обслуживает резервную копию сервера с помощью постоянного копирования журналов транзакций сервера.

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

Создайте план сопровождения для создания резервных копий каждый месяц

В дереве консоли Console Tree выберите базу данных Aromatherapy. SQL Server отобразит список объектов базы данных в Details Pane.



увеличить изображение

Нажмите кнопку Wizard (Мастер)
на панели инструментов Enterprise Manager. SQL Server отобразит диалоговое окно Select Wizard.



В разделе Management (Управление) выберите Database Maintenance Plan Wizard (Мастер плана сопровождения базы данных). SQL Server отобразит первую страницу Database Maintenance Plan Wizard.



Нажмите Next (Далее). Мастер отобразит страницу, приглашающую выбрать базу данных, для которой вы хотите создать план сопровождения. После того, как вы выбрали базу данных Aromatherapy в дереве консоли Console Tree, при запуске мастера эта база данных будет выбрана по умолчанию, но вы можете изменить этот выбор, установив нужную вам опцию.



Нажмите Next (Далее). Мастер отобразит страницу, приглашающую выбрать оптимизацию при обновлении.



Нажмите Next (Далее). Мастер отобразит страницу с запросом, выполнять ли проверку целостности.



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



Нажмите Change (Изменить) для изменения расписания создания резервных копий. Мастер отобразит диалоговое окно Edit Recurring Job Schedule (Изменить задание для расписания).



Выберите Monthly (Ежемесячно) в группе Occurs (Выполнять). Мастер изменит диалоговое окно для отображения опции ежемесячного резервирования.



С помощью кнопок выбора задайте создание резервных копий по первым воскресеньям каждого месяца.



Нажмите OK для возвращения в мастер Database Maintenance Plan Wizard.



Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать директорию для размещения резервной копии.

Совет. Если вы использовали мастер Database Maintenance Plan Wizard для составления расписания других работ и не выбрали опцию создания резервной копии, то эта страница не появится.

Выберите поле Use This Directory и затем нажмите кнопку Browse (Обзор)
.Мастер отобразит диалоговое окно File Backup Directory (Директория для файла резервной копии).





Перейдите к директории, где установлены файлы упражнений и нажмите OK. Диалоговое окно File Backup Directory (Директория для файла резервной копии) будет закрыто.Нажмите Next (Далее). Мастер отобразит страницу, запрашивающую, включать ли в план резервного копирования журнал транзакций.





Совет. Если вы хотите выполнить резервное копирование журнала транзакций (не всей базы данных), то вы сразу увидите эту страницу, а не страницу, приглашающую вас включить базу данных в план сопровождения.

Нажмите Next (Далее). Мастер отобразит страницу, с запросом о генерации отчета после выполнения плана.



Нажмите Next (Далее). Мастер отобразит страницу, с запросом о сохранении истории сопровождения на локальном сервере. В нашем примере мы примем установки по умолчанию.



Нажмите Next (Далее). Мастер Database Maintenance Plan Wizard отобразит страницу со списком всех ваших установок.



Нажмите Cancel (Отменить).

Примечание. Обычно для реализации плана сопровождения следует нажать Finish (Готово), но сейчас при работе с учебной базой данных нам этого не потребуется.

Совет. План сопровождения будет присутствовать в дереве консоли Console Tree в папке Management. Вы можете просмотреть его и изменить, нажав на нем два раза в панели деталей Details Pane.


Создание резервной копии базы данных


SQL Server 2000 предоставляет несколько различных способов создания резервной копии базы данных. Простейшим из этих способов является создание полной резервной копии (full backup) – точная копия базы данных на какой-либо момент времени.

Совет. SQL Server допускает создание резервной копии базы данных во время ее использования, так что вам не потребуется останавливать систему для этого. Тем не менее, некоторые типы операций не могут быть выполнены во время создания резервной копии. Это операции по изменению структуры базы данных – такие, как создание и удаление файлов или создание индексов, и выполнение нерегистрируемых операций.

Второй тип создания резервной копии, предоставляемый SQL Server, называется дифференциальным резервированием (differential backup). При дифференциальном резервировании записывает только та информация, которая была изменена после полного последнего резервирования. Преимуществом дифференциального резервирования является то, что для выполнения этого процесса требуется намного меньше места, и при этом достигается большая скорость выполнения операции.

Совет. Дифференциальное резервирование имеет смысл применять, только если был изменен небольшой процент данных. Например, вы можете делать дифференциальное резервирование каждый день, в то время как полное – один раз в неделю.

Третий тип создания резервной копии, предоставляемый SQL Server, называется резервированием журнала транзакций (transaction log backup). В журнал транзакций записываются все транзакции, выполненные после последнего резервного копирования журнала транзакций.

Совет. Резервирование журнала транзакций дает возможность восстанавливать состояние базы данных на определенный момент времени. Это может быть полезно, например, если ошибка оператора привела к вводу некорректной информации в базу данных. Вы можете использовать резервную копию журнала транзакций для восстановления состояния базы данных, которое она имела до ввода ошибочной информации.

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

Совет. В некоторых случаях, резервная копия журнала транзакций может быть больше, чем резервная копия всей базы данных. Это возможно, если небольшая группа записей изменялась регулярно. В этом случае вы можете сделать полное резервирование или создавать резервную копию журнала транзакций чаще.

Создайте резервную копию базы данных с помощью мастера Create Database Backup Wizard

Внимание! Если вы еще не установили учебную базу данных Aromatherapy, то обратитесь к Введению, прежде чем продолжить изучение урока.


В дереве консоли Console Tree выберите базу данных Aromatherapy.

SQL Server отобразит список объектов базы данных в панели деталей Details Pane.


увеличить изображение

Нажмите кнопку Wizard (Мастер)
в панели инструментов Enterprise Manager. SQL Server отобразит диалоговое окно Select Wizard (Выбор мастера).



Нажмите Backup Wizard (Мастер резервирования) в разделе Management (Управление). SQL Server отобразит первую страницу мастера создания резервной копии Create Database Backup Wizard.



Нажмите Next (Далее). Мастер отобразит страницу для выбора базы данных, которую вы хотите зарезервировать.









Снимите флажок Check Media Set Name And Backup Set Expiration Date, чтобы SQL Server не проверял срок действия резервной копии.



Нажмите Next (Далее). Мастер отобразит страницу со списком сделанных вами установок.

Совет. SQL Server организовывает носители резервных копий в виде набора носителей. Набор носителей может быть либо одним дисковым файлом, либо множеством из 20 или более кассетных накопителей.



Нажмите Finish (Готово). Мастер Create Database Backup Wizard отобразит диалоговое окно хода выполнения резервного копирования. Вы увидите сообщение об успешном завершении операции резервного копирования.





Совет. Вы также можете сделать резервную копию базы данных, выбрав в контекстном меню базы данных пункт Backup Database (Резервирование базы данных). Эта опция отображает одиночное диалоговое окно быстрее, чем при использовании мастера Create Database Backup Wizard, а все опции при этом будут такими же.


Создание резервных копий и восстановление базы данных


Вне зависимости от того, насколько надежна основная технология, следует иметь в виду возможности выхода из строя аппаратной части компьютера, сбоев и отказов в программном обеспечении, а также ошибочные действия пользователя. Лучшим способом защиты будет регулярное копирование ваших данных и сохранение их в каком-нибудь безопасном месте. Этот процесс называется "созданием резервной копии". Если что-нибудь случится (а что-нибудь обязательно случится), вы можете использовать резервную копию для восстановления состояния базы данных, которое она имела до возникновения проблемы.



Восстановление базы данных


От создания резервных копий вашей базы данных будет мало толку, если вы не сможете возвратить эти данные вашей рабочей системе в случае отказа или сбоя. Эта операция называется восстановлением базы данных. С помощью Enterprise Manager вы можете восстанавливать базы данных и делать их резервные копии.

Восстановите базу данных

В дереве консоли Console Tree нажмите правой кнопкой мыши на базе данных Aromatherapy, выберите All Tasks (Все задачи), а затем нажмите Restore Database (Восстановление базы данных). SQL Server отобразит диалоговое окно Restore Database (Восстановление базы данных).


Нажмите OK. SQL Server отобразит диалоговое окно хода выполнения восстановления. По окончании этого процесса появится сообщение с информацией об успешном завершении операции восстановления.




Безопасность на уровне базы данных


На уровне базы данных каждая учетная запись пользователя в Windows или SQL Server связывается с учетной записью пользователя в базе данных. Даже если кто-то имеет доступ к экземпляру SQL Server с использованием назначенной учетной записи, это еще не означает, что он или она имеет доступ к определенной базе данных, если конечно он или она не являются пользователями этой базы данных.

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

Совет. Хотя привилегии безопасности и могут быть назначены на отдельном уровне, это делать не рекомендуется, так как осложняет управление безопасностью. Будет намного проще добавлять или убирать пользователей из заранее созданных групп, имеющих специфический набор привилегий безопасности, чем назначать или убирать привилегии безопасности для отдельных пользователей.



Пользователи базы данных


Когда вы создаете новую учетную запись, с помощью Create Login Wizard и назначаете ей доступ в базу данных, учетная запись будет автоматически добавлена в список пользователей этой базы данных. Однако, может случиться, что вы создали новую базу данных и захотели добавить в нее существующую учетную запись в виде пользователя.

Создайте пользователя базы данных

В базе данных Aromatherapy найдите значок Users. SQL Server отобразит список пользователей в панели детализации Details Pane.


увеличить изображение

Нажмите кнопку New (Создать)

в панели инструментов Enterprise Manager.


Совет. Вы можете также открыть диалоговое окно Database User Properties (Свойства пользователя базы данных), нажав два раза на значке Users в дереве консоли Console Tree и выбрав из контекстного меню New Database User (Новый пользователь базы данных).

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


Нажмите OK. SQL Server добавит пользователя к базе данных.

Совет. Роли, которые назначаются пользователю базы данных, определяют, какие привилегии безопасности этот пользователь будет иметь для базы данных. За дополнительной информацией по этому вопросу, обратитесь к разделу "Роли базы данных".

Удалите пользователя базы данных

В базе данных Aromatherapy найдите значок Users. SQL Server отобразит список пользователей в панели детализации Details Pane.


увеличить изображение

Выберите пользователя, которого вы создали в предыдущем упражнении, и нажмите кнопку Delete (Удалить). SQL Server отобразит окно сообщение для подтверждения удаления.


Нажмите Yes (Да). SQL Server удалит пользователя из базы данных.



Режим аутентификации SQL Server Authentication


Помимо возможности делегировать Windows аутентификацию учетной записи при использовании режима аутентификации Windows Authentication Mode, SQL Server 2000 предоставляет и свою собственную систему безопасности под вполне естественным названием Server Authentication (известную в предыдущей версии SQL Server как стандартная аутентификация – standard security). При запросе соединения с использованием режима аутентификации SQL Server Authentication, SQL Server 2000 получает идентификатор учетной записи login ID и пароль, которые затем сверяются со списком учетных записей системного администратора.

Примечание. Microsoft рекомендует всегда использовать режим аутентификации Windows Authentication.



Режим аутентификации Windows Authentication


При использовании режима аутентификации Windows (известной в предыдущей версии SQL Server как интегрированная аутентификация – integrated security) системный администратор предоставляет привилегии безопасности учетным записям и группам Windows NT или Windows 2000. Программное обеспечение клиента Windows запрашивает у сервера доверительное соединение (trusted connection). Доверительное соединение будет предоставлено, только если Windows NT или Windows 2000 уже аутентифицировал пользователя. SQL Server 2000 необходимы гарантии того, что предоставленный идентификатор учетной записи обладает доступом к серверу и базе данных.

Примечание. Если Windows 98 не поддерживает доверительное соединение, то экземпляры SQL Server, выполняющиеся в Windows 98, не смогут использовать режим аутентификации Windows Authentication Mode. Программное обеспечение клиента, выполняющееся в Windows 98, тем не менее, может использовать аутентификацию Windows Authentication, предоставленную самим сервером, выполняющимся в Windows NT или Windows 2000.



Режимы безопасности


Когда экземпляр SQL Server получает запрос на соединение, он проверяет идентификатор login ID. Login ID представляет собой идентификатор учетной записи, управляющий доступом к SQL Server 2000. SQL Server проверяет предоставленный идентификатор login ID на корректность, а затем определяет, имеет ли данный login ID достаточно привилегий для выполнения запрашиваемой операции. Этот процесс называется аутентификацией.

SQL Server может выполнять аутентификацию двумя различными способами: проверять ID с помощью средств безопасности Microsoft Windows NT или Windows 2000, либо выполнять проверку самостоятельно.



Роли базы данных


Роль базы данных – является виртуальным пользователем, которого вы создали для управления доступом в базу данных. Роли может быть назначено любое число пользователей базы данных, а определенному пользователю может соответствовать множество ролей. Когда вы устанавливаете привилегии для роли базы данных, а затем назначаете пользователя этой роли, то при этом пользователь получает все привилегии указанной роли. Это намного проще, чем обслуживать привилегии отдельного пользователя. В таблице 3-2 представлены роли, которые доступны в SQL Server 2000. Вы также можете создавать свои роли, которые будут уникальными для вашей базы данных.

Совет. Роли базы данных, которые вы создадите в базе данных master, будут добавляться в любую новую базу данных, которую вы создадите для этого сервера.

Таблица 3-2.

Полное имяИмяОписание
Access Administrator (Администратор доступа)db_accessadminМожет удалять или добавлять ID-идетификаторы пользователя.
Backup Operator (Оператор резервного копирования)db_backupoperatorМожет выдавать операторы DBCC, CHECKPOINT, BACKUP.
Data Reader (Чтение данных)db_datareaderМожет выбирать все данные из любой таблицы пользователя в базе данных.
Data Writer (Запись данных)db_datawriterМожет модифицировать данные из любой таблицы пользователя в базе данных.
Data Definition Administrator (Администратор описания данных)db_ddladminМожет выполнять операторы языка описания данных Data Definition Language (DLL), но не может выдавать операторы GRANT, REVOKE, DENY.
Deny Data Reader (Запрет чтения данных)db_denydatareaderМожет запрещать или отменять полномочия SELECT для любых объектов базы данных.
Deny Data Writer(Запрет записи данных)db_denydatawriterМожет запрещать или отменять полномочия INSERT, UPDATE и DELETE для любых объектов базы данных.
Database Owner (Владелец базы данных)db_ownerИмеет все полномочия в базе данных.
Security Administrator (Администратор безопасности)db_securityadminМожет управлять всеми полномочиями, объектами, ролями и элементами ролей пользователей.
Public (Общая)Роль по умолчанию, к которой принадлежат все пользователи базы данных.


Создайте роль базы данных

В дереве консоли Console Tree в базе данных Aromatherapy нажмите на значке Roles. SQL Server отобразит список всех существующих ролей базы данных.


увеличить изображение

Нажмите на значке New (Создать)
в панели инструментов Enterprise Manager. SQL Server отобразит диалоговое окно Database Role Properties (Свойства роли базы данных).



Введите в качестве имени роли: урок 3.



Нажмите OK. SQL Server закроет диалоговое окно Database Role Properties (Свойства роли базы данных).В панели деталей Details Pane дважды щелкните на роли урок 3. SQL Server снова откроет диалоговое окно Database Role Properties (Свойства роли базы данных).





Примечание. Вы должны закрыть и снова открыть диалоговое окно Database Role Properties (Свойства роли базы данных), чтобы иметь возможность воспользоваться кнопкой Permissions (Разрешения).

Нажмите кнопку Permissions (Разрешения). SQL Server отобразит диалоговое окно Permissions (Разрешения).





Совет. Диалоговое окно Database Role Properties (Свойства роли базы данных) поддерживает два типа ролей: стандартные роли (standard roles) и роли приложения (application roles). Роли, рассматриваемые в этом уроке, являются стандартными ролями. Роль приложения является специальной функцией, поддерживающей требования сложных приложений. За дополнительной информацией о ролях приложений обратитесь к разделу "Установка режима безопасности для приложений и ролей приложений" в SQL Server Books Online (онлайновая книга по SQL Server 2000).

В таблице Oils задайте для роли разрешение Select.



Нажмите OK. SQL Server закроет диалоговое окно Permissions (Разрешения).Нажмите OK. SQL Server добавит новую роль.





В окне со списком Database Role Membership (Элементы роли базы данных) нажмите на роль урок 3 для добавления пользователя.



Нажмите OK. SQL Server добавит пользователя в роль и закроет диалоговое окно Database User Properties (Свойства пользователя базы данных).

Удалите пользователя из роли базы данных

В дереве консоли Console Tree в базе данных Aromatherapy найдите значок Users. SQL Server отобразит список пользователей в панели деталей Details Pane.


увеличить изображение

В списке пользователей дважды щелкните на вашем имени пользователя. SQL Server отобразит диалоговое окно Database User Properties (Свойства пользователя базы данных).



В списке Database Role Membership (Элементы роли базы данных) снимите выделение для роли урок 3.



Нажмите OK. SQL Server удалит пользователя из роли и закроет диалоговое окно.

Удалите роль базы данных

В дереве консоли Console Tree для базы данных Aromatherapy найдите значок Roles. SQL Server отобразит список ролей в панели деталей Details Pane.


увеличить изображение

В панели деталей Details Pane выберите роль урок 3 и нажмите кнопку Delete (Удалить). SQL Server отобразит сообщение для подтверждения удаления.



Нажмите Yes (Да). SQL Server удалит роль из базы данных.


Роли сервера


Роли сервера, к которым назначаются учетные записи, определяют, какие привилегии безопасности будет иметь учетная запись. В таблице 3-1 описываются привилегии для каждой роли.

Таблица 3-1.

Полное имяИмяОписание
Bulk Insert Administrators (Администраторы сплошной вставки данных)bulkadminМожет выполнять операции вставки типа "bulk insert".
Database Creators (Создатели баз данных)dbcreatorМожет создавать, изменять или прекращать работу баз данных.
Disk Administrators (Администраторы диска)diskadminМожет управлять файлами диска.
Process Administrators (Администраторы процесса)processadminМожет управлять процессами, запущенными в SQL Server.
Security Administrators (Администраторы безопасности)securityadminМожет управлять учетными записями и разрешениями CREATE DATABASE, а также читать журнал ошибок.
Server Administrators (Администраторы сервера)serveradminМожет управлять конфигурированием всего сервера и выключать его.
Setup Administrators (Администраторы настройки)setupadminМожет управлять связанными серверами, процедурами, автоматически выполняющимися при запуске, и хранимыми процедурами.
System Administrators (Системные администраторы)sysadminМожет выполнять любые действия в SQL Server.
Добавьте для учетной записи базу данных Aromatherapy.


Нажмите Next (Далее). Мастер отобразит страницу со списком сделанных вами установок.


Примечание. Учетные записи, принадлежащие определенным ролям сервера (в частности роли System Administrators) будут иметь привилегии для доступа ко всем базам данных, независимо от того, были ли они назначены этой учетной записи или нет.

Нажмите Finish (Готово). Мастер Create Login Wizard отобразит сообщение об успешном добавлении учетной записи.





В разделе Database ( База данных) выберите Create Login Wizard (Мастер создания учетной записи) и нажмите на OK. SQL Server отобразит первую страницу мастера Create Login Wizard.



Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать для сервера режим аутентификации учетной записи. Примите установки по умолчанию.



Нажмите Next (Далее). Мастер отобразит страницу, запрашивающую у вас идентификатор учетной записи Windows ID.



Введите идентификатор учетной записи Windows ID в поле формы: имя домена \ имя учетной записи (имя учетной записи может быть именем пользователя или группы). Нажмите Next (Далее). Мастер отобразит страницу, приглашающую выбрать роли безопасности, к которым будет назначена учетная запись.

Совет. Опция Deny Access To Server (Запретить доступ к серверу) на этой странице может быть использована только для запрещения доступа для индивидуального пользователя или группы.



Добавьте учетную запись к роли Database Creators (Создатели баз данных).



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



Добавьте для учетной записи базу данных Aromatherapy.



Нажмите Next (Далее). Мастер отобразит страницу со списком сделанных вами установок.





Примечание. Учетные записи, принадлежащие определенным ролям сервера (в частности роли System Administrators) будут иметь привилегии для доступа ко всем базам данных, независимо от того, были ли они назначены этой учетной записи или нет.

Нажмите Finish (Готово). Мастер Create Login Wizard отобразит сообщение об успешном добавлении учетной записи.






Создание учетной записи пользователя


Учетные записи могут быть созданы вручную с помощью нажатия на значке Logins в папке Security сервера и выбором в контекстном меню New Login (Создать учетную запись). Однако проще будет сделать это с использованием мастера создания учетной записи Create Login Wizard.

Создайте учетную запись SQL Server

В дереве консоли Console Tree выберите сервер. SQL Server отобразит в панели деталей Details Pane список объектов сервера.


увеличить изображение

Нажмите на кнопку Wizard (Мастер)

в панели инструментов Enterprise Manager. SQL Server отобразит диалоговое окно Select Wizard (Выбор мастера).


В разделе Database (База данных) выберите Create Login Wizard (Мастер создания учетной записи) и нажмите OK. SQL Server отобразит первую страницу мастера Create Login Wizard.


Нажмите Next (Далее). Мастер отобразит страницу, приглашающую вас выбрать режим аутентификации сервера для учетной записи.


Выберите опцию под названием SQL Server Login Information That Was Assigned To Me By The System Administrator (SQL Server Authentication). При этом будет использоваться информация об учетной записи, назначенная вам системным администратором.




Учетные записи пользователя


Безопасность в пределах SQL Server 2000 обеспечивается с помощью нескольких объектов безопасности. Самым верхним уровнем здесь являются учетные записи, которые идентифицируют для сервера пользователя SQL Server 2000, пользователя Windows или группу Windows.

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



Управление учетными записями


Подобно тому, как вам периодически приходится обслуживать некоторые другие объекты базы данных, вам может потребоваться изменить свойства учетной записи пользователя. Например, вы захотите изменить роль безопасности, которой назначена учетная запись или, например, изменить базу данных, к которой имеет доступ учетная запись. Наконец, вам может понадобится окончательно удалить запись. Все эти операции легко выполнить с помощью Enterprise Manager.

Измените свойства учетной записи

В дереве консоли Console Tree в папке Security найдите значок Logins. SQL Server отобразит список учетных записей в панели деталей Details Pane.


увеличить изображение

В панели деталей Details Pane нажмите два раза на учетной записи. SQL Server отобразит диалоговое окно SQL Server Login Properties (Свойства учетной записи SQL Server).


Выберите вкладку Server Roles (Роли сервера). SQL Server отобразит роли сервера, к которым будет назначена учетная запись.


Удалите учетную запись из роли System Administrators.


Выберите вкладку Database Access (Доступ к базе данных). SQL Server отобразит базы данных, к которым учетная запись имеет доступ.


Добавьте Northwind к списку баз данных.


Нажмите OK. Диалоговое окно SQL Server Login Properties (Свойства учетной записи SQL Server) закроется. SQL Server изменит свойства учетной записи.

Удалите учетную запись

В дереве консоли Console Tree в папке Security найдите значок Logins. SQL Server отобразит список учетных записей в панели деталей Details Pane.


увеличить изображение

Выберите учетную запись TestID в Details Pane и нажмите кнопку Delete (Удалить). SQL Server отобразит сообщение с запросом для подтверждения удаления записи.


Нажмите Yes (Да). SQL Server удалит учетную запись.



Создание баз данных


Для каждой логической базы данных SQL Server создает два физических файла: один для объектов, а другой для журнала транзакций (операций).

Совет. По умолчанию SQL Server подразумевает одинаковое местонахождение для файла базы данных и журнала транзакций, в рабочих системах вам следует всегда хранить журнал транзакций в другом месте, желательно, на другой машине. Это позволит восстановить базу данных в случае отказа аппаратных средств, в результате которого чтение диска станет невозможным.



Создание новой базы данных


Хотя можно создать новую базу данных с помощью команды New Database (Новая база данных) из контекстного меню папки Databases (Базы данных), проще это сделать, воспользовавшись мастером создания базы данных Create Database Wizard.

Создайте новую базу данных

Найдите папку Databases на сервере, который вы используете для выполнения упражнений и уроков из этого курса. SQL server отобразит список баз данных в рабочей панели Details Pane.


увеличить изображение

Щелкните на кнопке Wizard (Мастер)

в панели инструментов Enterprise Manager. SQL server отобразит диалоговое окно Select Wizard (Выбор мастера).


Выберите мастер Create Database Wizard из раздела Database и нажмите ОК. SQL server отобразит первую страницу мастера.


Нажмите Next (Далее). Мастер Create Database Wizard отобразит страницу, запрашивающую имя и местонахождение новой базы данных.


Введите урок 4 в поле Database Name (Имя базы данных).Щелкните на кнопке Browse (Обзор)

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


Размещение файла базы данных

При первой установке SQL Server для новых баз данных по умолчанию принимается место размещения MSSQL\data в папке, в которой установлен сервер. Эта настройка по умолчанию предоставляется мастеру создания базы данных Create Database Wizard. Чтобы изменить эту используемую по умолчанию установку, вы можете задать новое место размещения на вкладке Database Settings (Параметры базы данных) в диалоговом окне SQL Server Properties (Свойства SQL Server). Для этого следует щелкнуть правой кнопкой мыши на сервере в дереве консоли Console Tree, выбрать Properties (Свойства), а затем открыть вкладку Database Settings (Параметры базы данных).




Перейдите к папке SQL 2000 Step by Step в корневой директории, а затем нажмите ОК. Мастер установит место размещения файла журнала транзакций в соответствии с выбранной директорией.



Нажмите Next (Далее). Мастер отобразит страницу, запрашивающую имя и начальный размер файла базы данных.Нажмите Next (Далее). Мастер отобразит страницу, на которой вы можете выбрать, Automatically Grow The Database Files (Автоматическое увеличение размера файлов базы), либо вы сами увеличиваете их и соответственно выбираете опцию Do Not Automatically Grow The Database Files. В этом упражнении примем установки по умолчанию.



Нажмите Next (Далее). Мастер отобразит страницу, запрашивающую имя и начальный размер журнала транзакций. Примите установку по умолчанию.



Нажмите Next (Далее). Мастер отобразит страницу, позволяющую вам выбрать, должен ли размер файла журнала транзакций увеличиваться автоматически. Примите установки по умолчанию.



Нажмите Next (Далее). Мастер отобразит страницу, подтверждающую сделанный вами выбор параметров.



Нажмите Finish (Готово). Мастер создаст файлы базы данных и журнала транзакций, а затем спросит, хотите ли вы создать план сопровождения для новой базы данных.



Нажмите No (Нет). Мастер завершит свою работу.


Удаление базы данных


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

Совет. Рекомендуется делать резервные копии системных баз данных после удаления базы данных.

Удалите базу данных

Выделите базу данных урок 4 в дереве консоли Console Tree.Нажмите кнопку (Delete). SQL Server отобразит сообщение, запрашивающее у вас подтверждение удаления.


Нажмите Yes (Да). SQL Server удалит базу данных и все связанные с ней ссылки с сервера.



Управление базами данных


С помощью Enterprise Manager вы можете изменять свойства базы данных, а также удалять их.

Примечание. Другой задачей по обслуживанию, которая может вам потребоваться, является переименование базы данных. Эта задача не может быть выполнена с помощью Enterprise Manager. Как это сделать, вы узнаете в уроке 28.



Установка свойств базы данных


Когда вы создаете базу данных с помощью мастера Create Database Wizard, вы указываете определенные характеристики, или свойства, базы данных, такие как имя базы данных и место размещения. После создания базы данных вы можете поменять эти свойства, изменив соответствующие параметры в диалоговом окне Properties (Свойства).

Например, увеличение размера физического файла – это довольно серьезная операция, выполнение которой может привести к увеличению времени отклика сервера. Если вы обнаружите, что SQL Server приходится слишком часто увеличивать размер файла. Вам следует учитывать возможность изменения процента увеличения размера файла в диалоговом окне Properties (Свойства), чтобы сервер смог увеличивать размер файла более, чем на 10% (установка по умолчанию).

Как изменить процент увеличения размера файла

Выберите базу данных урок 4 в дереве консоли Console Tree.Нажмите кнопку Properties (Свойства)

в панели инструментов. SQL Server отобразит диалоговое окно Properties (Свойства) для базы данных.


Откройте вкладку Data Files (Файлы данных). SQL Server отобразит свойства файлов данных базы данных.


Установите процент увеличения 20%.


Нажмите ОК. SQL Server установит новое свойство и закроет диалоговое окно Properties (Свойства).



Добавление столбцов в таблицу


Хотя таблица сама по себе обладает определенными свойствами, такими как имя, которое мы предоставили в последнем упражнении, в первую очередь таблица определяется столбцами, которые в ней содержатся.

Добавьте в таблицу столбец числовых значений

Введите MyNumber в ячейку имени столбца Column Name, а затем нажмите клавишу Tab. SQL Server предлагает использование типа данных char.


Измените тип данных на decimal. SQL Server изменит длину столбца на 9 и разрешит использование полей Precision, Scale и Identity.


Введите Образец столбца числовых значений в ячейку описания Description.Измените общее количество знаков числа (поле Precision) на 5, а количество знаков после запятой (поле Scale) на 2. SQL Server изменит длину столбца на 5, чтобы отразить новое количество знаков в числе.


Описание столбца

Новая функциональная возможность Enterprise Manager – добавление описания к столбцу, относится к расширенным свойствам в SQL Server 2000. Ряд расширенных свойств, таких как описание столбца, были созданы Microsoft как составная часть стандартной установки сервера, и вы можете создавать дополнительные расширенные свойства для хранения специфичной для приложения или для сайта информации об объектах базы данных.

Каждое расширенное свойство обладает задаваемым пользователем именем и значением. Значение расширенного свойства имеет тип sql_variant и может содержать до 7500 байт данных. Вы можете определить несколько расширенных свойств для любого объекта с использованием хранимых процедур. Подробнее о хранимых процедурах вы узнаете в уроке 28.

Точность и масштаб

Точность (precision) числового значения представляет собой максимальное количество десятичных разрядов, которые представляют значение, как слева, так и справа от десятичной точки. Масштаб (scale) значения представляет собой количество знаков справа от десятичной точки. Например, значение 3647,311 имеет точность 7 (общее количество знаков) и масштаб 3 (количество знаков справа от десятичной точки).

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




Измените тип данных на decimal. SQL Server изменит длину столбца на 9 и разрешит использование полей Precision, Scale и Identity.



Сбросьте флажок Allow Null (Разрешить нулевое значение).

Нулевое значение (Null)

Значение Null представляет собой особый вид значений в реляционной технологии, которое используется для указания, что значение либо отсутствует, либо не существует. Использование значений типа Null в ряде случаев является сомнительным и спорным.

Введите в ячейку описания Description текст Образец столбца идентификации.Измените значение поля Identity на Yes (Not For Replication). SQL Server предлагает для полей начального значения Identity Seed и приращения Identity Increment значение 1.





Идентификационные значения

Когда вы устанавливаете свойство идентификации Identity для столбца, вы тем самым предписываете SQL Server вставить в столбец значение, которое уникально идентифицирует каждую строку. Выбранный тип данных задает природу данных, содержащихся в столбце. Идентификационные столбцы могут иметь типы данных int, smallint, tinyint или decimal.

Когда SQL Server вставляет строку в таблицу, имеющую столбец идентификации, он автоматически генерирует значения для столбца на основе последнего использованного значения (начиная с начального) и приращения идентификатора, заданного при создании таблицы.

Например, если для столбца идентификации задан тип smallint, начальное значение равно 50, а приращение равно 5, для первой вставленной строки будет присвоено значение 50, для второй строки – значение 55, для третьей строки – значение 60 и т.д.

Свойство Identity может быть установлено только для одного столбца в таблице.

Добавьте в таблицу столбец GUID

Щелкните на пустой ячейке в столбце Column Name, введите MyGUID, а затем нажмите клавишу Tab. SQL Server предлагает в качестве типа данных char.



Измените тип данных на uniqueidentifier. SQL Server изменит длину столбца на 16 и разрешит использование поля Is RowGUID.



Введите в ячейку описания Description текст Образец GUID.Измените значение поля Is RowGUID на Yes. SQL Server установит значение по умолчанию (Newid()).







GUID

Глобальный уникальный идентификатор (Globally Unique Identifier – GUID) представляет собой 16-байтное уникальное значение – ни один другой в мире компьютер не будет генерировать это значение. Тип данных uniqueidentifier используется для хранения GUID-идентификаторов.

SQL Server не генерирует GUID-идентификаторы автоматически, как он это делает для идентификационных значений, поскольку таблица может содержать несколько GUID-идентификаторов, но только одно идентификационное значение. Тем не менее, функция NEWID, которую SQL Server предлагает как значение по умолчанию, если для свойства Is RowGUID установлено значение Yes (Да), будет возвращать новый GUID-идентификатор при вставке строки.

Добавьте в таблицу столбец даты

Щелкните на пустой ячейке в столбце Column Name, введите MyDate, а затем нажмите клавишу Tab. SQL Server предлагает тип данных char.



Измените тип данных на datetime. SQL Server изменит длину столбца на 8.



Введите Образец столбца даты в ячейку описания Description.





Добавьте в таблицу символьный столбец

Щелкните на пустой ячейке в столбце Column Name, введите MyChar, а затем нажмите клавишу Tab. SQL Server предлагает тип данных char.





Символьные типы данных

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

Если для столбца объявлена переменная длина (например, тип varchar или text для данных не-Unicode, и nvarchar или ntext для данных Unicode), то SQL Server будет хранить только фактические символы данных, которые были введены. Если, с другой стороны, для столбца объявлена фиксированная длина (тип char для данных не-Unicode или nchar для данных Unicode). SQL Server будет дополнять введенные значения пробелами.

Например, если для столбца объявлен тип char с длиной, равной 10, а фактическим значением является "hello", SQL Server будет хранить значение как "hello", с пятью пробелами, следующими за пятью фактическими символами.

Измените длину столбца на 25.Введите Образец символьного столбца в ячейку описания Description.Введите 'Unknown' в ячейку значения по умолчанию Default value. (Не забудьте заключить слово в одинарные кавычки.)







Значения по умолчанию

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

Мы уже сталкивались с двумя специальными видами значений по умолчанию: идентификационное значение, предоставляемое SQL Server, когда вы устанавливаете свойство Identity, а также функция NEWID, предоставляемая SQL Server, когда вы устанавливаете свойство Is RowGuid. В действительности вы можете задавать значения по умолчанию для любого столбца. Значения по умолчанию могут быть константами, такими как 'Unknown' или 123, функциями, такими как NEWID или GETDATE, либо математическими выражениями, такими как 3 + 5.

Сохраните и закройте таблицу

Нажмите кнопку Save (Сохранить)
на панели инструментов конструктора таблиц Table Designer. SQL Server сохранит определение таблицы.Закройте окно.


Изменение столбцов


Вы можете повторно открыть конструктор таблиц Table Designer для таблицы, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы) из контекстного меню. После того, как конструктор таблиц будет открыт, вы можете изменить свойства имеющихся столбцов, удалять их или добавлять новые.

Переименуйте столбец

Выберите папку Tables для базы данных Aromatherapy в дереве консоли Console Tree. SQL Server отобразит список таблиц в рабочей панели Details Pane.


увеличить изображение

Щелкните правой кнопкой мыши на таблице урок 5 в рабочей панели Details Pane и выберите Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.


Выделите MyChar в ячейке Column Name и введите MyCharacter.SQL Server изменит имя столбца.


Нажмите кнопку Save (Сохранить) в панели инструментов конструктора таблиц Table Designer, чтобы сохранить изменения.

Удалите столбец

Выделите столбец MyDate, щелкнув на сером прямоугольнике слева от имени столбца.


Нажмите клавишу Delete. SQL Server удалит столбец.


Нажмите кнопку Save (Сохранить), чтобы сохранить изменения.Закройте окно конструктора таблиц.



Изменение таблиц


Помимо изменения определений столбцов таблицы Enterprise Manager облегчает переименование таблиц и удаление таблиц из базы данных.

Переименуйте таблицу

Перейдите к папке Tables базы данных Aromatherapy в дереве консоли Console Tree. SQL Server отобразит список таблиц в рабочей панели Details Pane.


увеличить изображение

Щелкните правой кнопкой мыши на таблице урок 5 в рабочей панели Details Pane и выберите Rename (Переименовать). 3. Введите Новый урок 5 и нажмите Enter. SQL Server отобразит диалоговое окно Rename (Переименование), предупреждающее, что изменение имени таблицы сделает невозможными все ссылки на нее из других объектов.


Нажмите кнопку View Dependencies (Просмотр зависимостей), чтобы отобразить все объекты, которые может затронуть изменение. SQL Server откроет диалоговое окно Dependencies (Зависимости).


Нажмите Close (Закрыть), чтобы закрыть диалоговое окно.Нажмите Yes (Да) в диалоговом окне Rename (Переименование). SQL Server отобразит сообщение. Подтверждающее успешное выполнение изменения имени.


Удалите таблицу

Выделите таблицу Новый урок 5 в панели детализации Detail Pane.Нажмите клавишу Delete. SQL Server отобразит диалоговое окно Drop Objects (Удаление объектов).


Совет. Вы можете щелкнуть на кнопке Show Dependencies (Показать зависимости), чтобы увидеть все объекты, на которые повлияет удаление таблицы.

Нажмите Drop All (Убрать все). SQL Server удалит таблицу из базы данных.

Примечание. Когда вы удаляете таблицу, таблица и все ее данные окончательно убираются из базы данных. Единственный способ восстановить ее – это воспользоваться резервной копией.



Создание новой таблицы


Таблицы создаются и обслуживаются с помощью конструктора таблиц Table Designer Enterprise Manager. Первым шагом является создание и присвоение имени таблицы путем открытия конструктора таблиц Table Designer для новой таблицы.

Создайте новую таблицу

Перейдите к папке Tables базы данных Aromatherapy. SQL Server отобразит список имеющихся таблиц.


увеличить изображение

Нажмите кнопку New (Создать)

в панели инструментов. SQL Server откроет конструктор таблиц Table Designer.


Нажмите кнопку Properties (Свойства)

в панели инструментов. SQL Server откроет диалоговое окно Properties (Свойства) для таблицы.


Измените имя таблицы на урок 5.


Нажмите Close (Закрыть). SQL Server закроет диалоговое окно Properties (Свойства).



Создание таблиц


Таблицы представляют собой основные единицы хранения данных в реляционной базе данных. Общепринято, что каждый тип сущности, например, определенная разновидность ароматического масла в базе данных нашего примера, представляется таблицей, в то время как каждый экземпляр сущности, например, Clary Sage или German Chamomile, представляется строкой в таблице.

Построение базы данных

Наиболее распространенный метод описания баз данных использует концепцию сущностей (entities) и атрибутов (attributes). Когда вы переходите от логического конструирования к физической реализации, сущности реализуются в виде таблиц, а атрибуты – в виде столбцов (они также называются полями).



Типы данных


Каждый столбец в таблице имеет определенные свойства, которые описывают его в SQL Server. Наиболее важным из этих свойств является тип данных, который является описанием типа информации, которая будет храниться в столбце. SQL Server предоставляет обширный перечень типов данных. Они представлены в таблице 5-1.

Помимо типов данных, предоставляемых SQL Server, вы можете определить свой собственный тип. Как это сделать, вы узнаете в уроке 9.

Таблица 5-1. Типы данных в SQL Server

Тип данныхДопустимые значенияЧисловые значенияЗначения даты и времениСимвольные значенияДвоичные (бинарные) значенияДругие значения
BigintЦелые числа от -2^63 до 2^63-1.
IntЦелые числа от -2^31 до 2^31-1.
SmallintЦелые числа от -2^15 до 2^15-1.
TinyintЦелые числа от 0 до 255.
BitЦелые числа, принимающие значения 0 или 1.
DecimalДесятичные числа с фиксированным количеством знаков до и после запятой в диапазоне от -10^38+1 до 10^38-1. (Десятичные числа decimal также могут быть описаны как "numeric"; диапазон значений при этом одинаковый.)
MoneyЧисла в денежном формате в диапазоне от -2^63 до 2^63-1. (Значения в денежном формате имеют точность, равную одной десятитысячной (.0001) от денежной единицы.)
SmallmoneyЧисла в денежном формате в диапазоне от -214748,3648 до 214748,3647.(Точность этих чисел также равна одной десятитысячной (.0001) от денежной единицы.)
FloatЧисла с плавающей запятой в диапазоне от -1.79Е+308 до 1.79Е+308. (Значения являются лишь приблизительными.)
realЧисла с плавающей запятой в диапазоне от -3.40Е+38 до 3.40Е+38. (Значения являются лишь приблизительными.)
datetimeЗначения даты и времени начиная с 1 января 1753 г. до 31 декабря 9999 г. (Значения даты и времени имеют точность, равную трем сотым секунды или 3,33 миллисекунды.)
smalldatetimeЗначения даты и времени начиная с 1 января 1900 г. до 6 июня 2079 г. (Точность значений составляет одну минуту.)
charСимвольные значения (не Unicode) фиксированной длины, максимально 8000 символов.
varcharСимвольные значения (не Unicode) переменной длины, максимальная длина составляет 8000 символов.
TextДанные (не Unicode) переменной длины, максимальная длина составляет 2^31-1 (2147483647) символов.
NcharДанные (Unicode) фиксированной длины, максимальная длина составляет 4000 символов.
nvarcharДанные (Unicode) переменной длины, максимальная длина составляет 4000 символов.
ntextДанные (Unicode) переменной длины, максимальная длина составляет 2^30-1 (1073741823) символов.
binaryДвоичные данные фиксированной длины, максимальная длина составляет 8000 байт.
VarbinaryДвоичные данные переменной длины, максимальная длина составляет 8000 байт.
imageДвоичные данные переменной длины, максимальная длина составляет 2^31-1 (2147483647)
cursorСсылка на курсор. (Курсор представляет собой сущность, которая устанавливает ссылку на определенную строку в результирующем наборе.)
rowversionУникальный используемый для всей базы данных номер, который обновляется каждый раз при модификации строки. (В предыдущих версиях SQL Server типу данных rowversion соответствовал тип timestamp.)
sql_variantЗначения любого типа, за исключением text, ntext, rowversion (timestamp) и sql_variant.
uniquedentifierГлобальный уникальный идентификатор (GUID).



Управление таблицами


Хотя "принципы разработки" требуют, чтобы структура вашей базы данных была окончательно определена до начала реализации, на практике это не всегда удается осуществить. SQL Server облегчает выполнение задач по сопровождению баз данных.



Изменение индексов


Точно так же, как вы изменяете свойства столбца, открыв конструктор таблиц Table Designer и отобразив диалоговое окно Properties (Свойства) для таблицы, вы можете изменять и свойства индекса.

Переименуйте индекс

Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.


Щелкните на кнопке Indexes/Keys (Индексы/Ключи).

SQL Server откроет диалоговое окно Properties (Свойства) с отображением страницы свойств Indexes/Keys (Индексы/Ключи).


Выберите IX_OilName в поле списка Selected Index (Выбор индекса). SQL Server отобразит свойства индекса.


Измените имя индекса на IX_Name.


Нажмите Close (Закрыть). SQL Server закроет диалоговое окно.Щелкните на кнопке Save (Сохранить) в панели инструментов конструктора таблиц, чтобы сохранить изменения.



Обслуживание индексов


Как и для всех других объектов в базе данных, у вас может возникнуть потребность изменить созданный вами индекс. Индексы и их свойства обслуживаются в диалоговом окне Properties (Свойства) конструктора таблиц Table Designer.



Понятие об индексах


В реляционной базе данных индекс представляет собой особый объект, который дает возможность базе данных быстро осуществлять доступ к строкам в таблице на основе значений из одного или более столбцов. Здесь имеется аналогия с предметным указателем книги, который обеспечивает быстрый поиск интересующего вас содержимого по определенным ключевым словам.

Microsoft SQL Server поддерживает два различных типа индексов: кластерный и некластерный. Кластерный индекс устанавливает порядок, в котором строки таблицы хранятся физически. Некластерный индекс представляет собой отдельный объект внутри базы данных, который указывает на определенные строки таблицы, но не устанавливает порядок их хранения.

Индекс может ссылаться на один или несколько столбцов в таблице. Индекс, который ссылается на один столбец, называется простым индексом, в то время как индекс, который ссылается на несколько столбцов, называется составным индексом.

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



Создание индексов


В Enterprise Manager индексы могут быть созданы с помощью мастера Create Index Wizard или с использованием конструктора таблиц Table Designer либо путем установки свойства Primary Key, либо путем определения индекса в диалоговом окне Properties (Свойства).

Создайте индекс с использованием мастера Create Index Wizard

Найдите базу данных Aromatherapy в дереве консоли Console Tree. SQL Server отобразит список объектов базы данных в рабочей панели Details Pane.


увеличить изображение

Щелкните на кнопке Wizard (Мастер)

в панели инструментов Enterprise Manager. SQL Server отобразит диалоговое окно Select Wizard (Выбор мастера).


Выберите Create Index Wizard в разделе Database, а затем нажмите ОК. SQL Server отобразит первую страницу мастера создания индексов Create Index Wizard.


Нажмите Next (Далее). Мастер отобразит страницу, запрашивающую базу данных и таблицу, для которой будет создан индекс.


Убедитесь, что в качестве имени базы данных выбрано Aromatherapy, и выберите в качестве имени таблицы Oils.


Нажмите Next (Далее). Мастер отобразит имеющиеся для таблицы индексы. (Индексы с несколько странными именами создаются SQL Server, чтобы использовать их для отношений. Об отношениях мы поговорим в следующем уроке.)


Нажмите Next (Далее). Мастер отобразит столбцы, имеющиеся в таблице.


Щелкните на ячейках Include In Index столбцов OilName и LatinName, чтобы включить их в индекс.


Нажмите Next (Далее). Мастер отобразит страницу, предлагающую выбрать свойства для индекса.


Примите предложенные по умолчанию значения, щелкнув на кнопке Next (Далее). Мастер отобразит страницу, подтверждающую ваш выбор и запрашивающую имя для индекса. Примите значение по умолчанию.


Выделите поле LatinName и щелкните на кнопке Move Up (Повысить), чтобы изменить порядок полей в индексе.


Нажмите Finish (Готово). Мастер отобразит сообщение, подтверждающее, что индекс был создан.




увеличить изображение

Откройте конструктор таблиц Table Designer для таблицы PlantTypes, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane, и выберите Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.



Выберите столбец PlantTypeID в сетке, щелкнув слева от имени столбца. SQL Server выделит столбец.



Щелкните на кнопке Primary Key (Первичный ключ)
в панели инструментов конструктора таблиц. SQL Server установит выделенный столбец в качестве первичного ключа.



Нажмите кнопку Save (Сохранить),
чтобы сохранить изменения и закрыть окно.

Создайте простой индекс

Откройте конструктор таблиц Table Designer для таблицы Oils, щелкнув правой кнопкой на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.



Щелкните на кнопке Indexes/Keys (Индексы/Ключи).
SQL Server откроет диалоговое окно Properties (Свойства) для таблицы, в которой будет отображена страница свойств Indexes/Keys (Индексы/Ключи).





Совет. Вы также можете открыть диалоговое окно Properties (Свойства) для таблицы, щелкнув на кнопке Properties (Свойства),
а затем открыв вкладку Indexes/Keys (Индексы/Ключи).

Нажмите New (Создать). SQL Server предложит IX_Oils в качестве имени индекса и OilID в качестве индексируемого столбца.



Измените имя индекса на IX_OilName.



Измените имя индексируемого столбца на OilName, выбрав этот столбец из списка.



Установите флажок Create UNIQUE (Создать как уникальный), чтобы создать уникальный индекс. SQL Server разрешит установку опций в группе Create UNIQUE.



Установите опцию Index (Индекс).





Уникальные индексы

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

Следует проявлять осторожность при создании уникальных индексов для столбцов, которые допускают использование нулевых значений (NULL). SQL Server разрешит использование только одной строки со значением NULL; все последующие строки будут отвергнуты как строки-дубликаты.

Нажмите кнопку Close (Закрыть). SQL Server закроет диалоговое окно.Щелкните на кнопке Save (Сохранить) в панели инструментов конструктора таблиц, чтобы сохранить изменения, а затем закройте окно конструктора таблиц Table Designer.



Создайте составной индекс

Откройте конструктор таблиц Table Designer для таблицы OilOdors, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.



Щелкните на кнопке Indexes/Keys (Индексы/Ключи).
SQL Server откроет диалоговое окно Properties (Свойства) с отображением страницы свойств Indexes/Keys (Индексы/Ключи).



Нажмите New (Создать). SQL Server предложит IX_OilOdors в качестве имени индекса, и OilID в качестве индексируемого столбца.



Добавьте столбец OdorID в индекс, щелкнув на ячейке Column Name и выбрав его в поле со списком.



Нажмите кнопку Close (Закрыть). SQL Server закроет диалоговое окно.Щелкните на кнопке Save (Сохранить) в панели инструментов конструктора таблиц, чтобы сохранить изменения, а затем закройте окно Table Designer.


Удаление индексов


Иногда необходимо удалить индекс из таблицы, поскольку он вам либо уже не нужен, либо преимущества, которые обеспечивает применение индекса для ускорения извлечения данных, сводятся на нет дополнительными затратами времени, необходимыми для обслуживания индекса при обновлении основных данных. Подобно всем другим задачам по обслуживанию индексов, удаление индекса осуществляется через вкладку Indexes/Keys (Индексы/Ключи) диалогового окна Properties (Свойства) конструктора таблиц Table Designer.

Удалите индекс

Если конструктор таблиц Table Designer для таблицы Oils не открыт, откройте его, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane, и выберите Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.


Щелкните на кнопке Indexes/Keys (Индексы/Ключи).

SQL Server откроет диалоговое окно Properties (Свойства) для таблицы с отображением страницы свойств Indexes/Keys (Индексы/Ключи).


Выберите IX_Name в поле списка Selected Index (Выбор индекса). SQL Server отобразит свойства для индекса.


Нажмите Delete (Удалить). SQL Server удалит индекс.Нажмите Close (Закрыть). SQL Server закроет диалоговое окно.Щелкните на кнопке Save (Сохранить) в панели инструментов конструктора таблиц, чтобы сохранить изменения, а затем закройте окно конструктора таблиц Table Designer.