Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Базы данных создание баз данных в среде SQL Server. Лабораторный практикум
.pdf
«Object Explorer Details» не отображается, ее, как и другие панели,
можновызватьчерезменюView.
В панеляхObject Explorer и Registered Servers объект следующегоуровняпоявляется, толькоесли выщелкнулипо символу «плюс»
(+) у его непосредственного предшественника (родителя) в дереве
иерархии. Чтобы просмотреть свойства объекта, щелкните по объектуправойкнопкоймышиивконтекстномменювыберитекоманду
Properties.Символминуса(–)слеваотимени объектауказывает,что
объектвнастоящиймомент раскрыт.Чтобысвернуть всеподчиненныеобъектыданногообъекта,щелкнитепо этомусимволу«минус».
(Другойвозможностьюявляетсядвойнойщелчокпопапкеилинажатиеклавиши«–»втовремя,когдаэтапапкаявляетсявыделенной).
Контрольные вопросы
1. ЧтотакоесерверныеСУБД?
2. Перечислите основные компоненты MS SQL Server. Для чего
предназначенакаждаяизэтихкомпонент?
3. Чтотакое«Служба»вSQLServer?Какона запускается/пере-
запускается/останавливается?Продемонстрируйтенапримере.
4. Чтотакоеаутентификация?Какиетипыаутентификациисуще-
ствуютвMSSQLServer?
5. КакиетипытранспортныхпротоколовиспользуютсявMSSQL
Server?
6. ВкакихслучаяхимеетсмыслизменятьзначениеNetworkpacket
size?
11

Лабораторная работа 2
ДИСПЕТЧЕР КОНФИГУРАЦИИ SQL SERVER
Цель работы: ознакомитьсяспараметрамиподключениявконфи-
гуратореSQLServer’а.
Диспетчер конфигурации SQL Server (SQL Server Conguration
Manager)(рис.2.1)служитдляуправленияслужбамиипротоколами
SQL Server. В данной работе рассмотрим только некоторые из возможностейдиспетчераконфигурации.
Запуститедиспетчер конфигурацииSQLServer через меню Пуск
--> Microsoft SQL Server 2014 --> Conguration Tools --> Sql Server
CongurationManager.
Рис.2.1.ДиспетчерконфигурацииSQLServer
Запуск, остановка, приостановка, возобновление
и перезапуск компонента Database Engine, агента SQL
и службы браузера SQL Server
Компоненты SQL Server являются исполняемыми программами,
работающимивкачествеслужбWindows.Программы,запущенныев
качествеслужбWindows,работают,не проявляяникакойактивности
наэкране компьютера.Для того чтобы посмотреть всеслужбыи их
12

параметры,необходимовыбрать«SQLServerServices»влевойчасти
окнадиспетчераконфигурации.
Компонент Database Engine
Исполняемый процесс, который представляет собой компонент
SQLServer DatabaseEngine. КомпонентDatabaseEngine можетбыть
экземпляромпоумолчанию(можетбытьтолькоодин на одномкомпьютере) либо может быть одним из нескольких именованных экземпляров КомпонентDatabase Engine. С помощью диспетчера конфигурации SQL Server определите, какие экземпляры Компонент
Database Engine установлены накомпьютере.Экземпляр по умолчанию(есливыегоустановили)указанвспискеподименемSQLServer
(MSSQLSERVER). Именованные экземпляры (если вы установили
их)перечисленыкакSQLServer(<имя_экземпляра>).Поумолчанию
SQLServerExpressустанавливаетсякакSQLServer(SQLEXPRESS).
Длякаждойслужбыможетбытьодноизсостояний–Running(Запущено) или Stopped (Остановлено). Состояние отображается в колонкеСостояние(State)таблицыслужб.
Рис.2.2.Изменениережимазапускаслужбы
вдиалоговомокнесвойств
13

Любаяизслужбможетзапускатьсяавтоматически(Automatic)при
запускеWindowsили вручную(Manual),или можетбыть отключена
(Disabled).Режимзапуска(StartMode)отображаетсявсоответствующейколонкетаблицы.Длязапускаиливыключенияслужбынеобходимокликнуть правойкнопкоймыши нанаименованиисоответствующейслужбыиизконтекстногоменювыбратьStart(Запустить),Stop
(Остановить), Pause (Приостановить) или Restart (Перезапустить) в
зависимостиоттого,чтоВыхотитесделать.
Если вы хотитеизменить режим запуска, то нажмите правой кнопкоймыши на строкусоответствующейслужбыи выберите «Свойства».
Воткрывшемсядиалоговомокне(рис.2.2)перейдитевовкладкуService
и изменитьрежим запуска(Start Mode) на требуемый.После этогонажмитекнопку«Применить»,еслиВыжелаетепродолжитьработусэтим
окном,иликнопку«ОК»длязакрытияэтогодиалоговогоокна.
Протоколы
Для включения или выключения протоколов раскройте в правой
частиокнапунктSQLServerNetworkProtocolикликнитенаProtocols
forMSSQLSERVER.В правой части окна отобразитсясписок протоколовSharedMemory,NamedPipesиTCP/IP.Длявключенияиливыключениясоответствующегопротоколакликнитепонемудваждылевойкнопкоймыши.ЕслизначениесвойстваEnabledустановленокак
Yes,значит этотпротоколвключен. Если вам необходимо этотпротоколизменить,тоисправьтезначениеэтогосвойстванаNo.ВключениепротоколаосуществляетсяпутемизменениязначенияэтогосвойствасNoнаYes.
После изменения параметров конфигурации необходимо перезагрузитьсервер базы данных. Для этогонеобходимоперейтив список
служб, кликнуть по наименованию службы «SQL Server» и из контекстногоменювыбратьRestart.Врезультатепроизойдетперезагрузка
основнойслужбыSQLServerсновымипараметрамиконфигурации.
Воткрывшемсяокне «Свойства сервера»(ServerProperties) переходимна вкладку«Память» (Memory), на которойдоступны для измененияразныепараметры.
Минимальныйразмерпамятисервера (Minimumservermemory)–
указывает минимальный размер оперативной памяти в мегабайтах,
который будет выделен при запуске SQL Server и не будет в дальнейшем уменьшаться. Следует задавать такое значение,чтобы SQL
Serverнемешалработеоперационнойсистемыипрограмм,работающихнаданномкомпьютере.
14

Максимальный размер памяти сервера (Maximum server memory) –
максимальныйобъемоперативнойпамятивмегабайтах,которыйможет
использоватьSQLServerво время работы.Устанавливатьданныйпараметримеетсмысл,еслиизвестно,чтоодновременносSQLServerбудет
запущенонесколькодругихприложений,которыеиспользуютвесьобъемпамяти,доступныйвмоментзапуска,инезапрашиваютеедополнительно(т.е.незапрашиваютпамятьпринеобходимости).В этомслучае
необходимо установить такое значение максимального размера памяти сервера, при котором обеспечиваетсянеобходимый для приложения
объемпамяти, не занимаемый SQL Server. Минимальный объемпамяти,которыйможноустановитьдляданногопараметра,равен64МБдля
32-разрядныхсистеми128МБдля64-разрядныхсистем.
Память для создания индекса (Index creation memory) – устанавливает объем памяти в килобайтах, который используетсяво время
операциисортировкиприсозданиииндекса.Значениепоумолчанию,
равное0,соответствуетдинамическомураспределению,котороеможно использовать в большинстве случаев без дальнейшей настройки.
Значениязадаютсявдиапазонеот704до2147483647.
Минимальный объем памяти для запроса (Minimum memory per
query)–устанавливаетобъемпамятивкилобайтах, выделяемыйдля
выполнения запроса. Возможнозадать значение в диапазоне от 512
до2147483647килобайт.Значениепоумолчанию–1024.
Введя необходимыепараметры, нажимаем «ОК» для сохранения
изменений.
Контрольные вопросы
1. Для каких целей используется диспетчер конфигурации SQL
Server?
2. КогдаикакнеобходимоделатьперезагрузкусервераSQL?
3. МожетлибытьзапущенаслужбаSQLServer,если выключены
всесетевыепроколы?
4. ПрисоединениисSQLServerВывидитеследующуюошибку:
Чтоозначаетэтаошибка?Какееустранить?
15

Лабораторная работа 3
СОЗДАНИЕ БАЗ ДАННЫХ
Цель работы: научитьсясоздаватьбазу данныхс помощьюSQL
ServerManagementStudio.
Прежде чем перейти к созданиюсвоих собственныхрабочих баз
данных, рассмотрим служебные базы данных SQL Server, которые
создаются автоматически в процессе его установки. Если мы раскроемузел«Базыданных–Системныебазыданных»вобозревателе
объектов,тоувидимследующийнаборслужебныхбазданных:
– master. Главная служебная база данных всего сервера. В ней
хранитсяобщаяслужебнаяинформациясервера:настройкиегоработы,списокбазданных на сервересинформациейонастройкахкаждойбазыданныхиеефайлах,информацияобучетныхзаписяхпользователей,серверныхроляхит.п.
– msdb. Этабаза данных восновном используетсядля хранения
информации службы SQL Server Agent (пакетных заданий, предупрежденийит.п.),новнеезаписываетсяидругаяслужебнаяинформация(например,историярезервногокопирования).
– model.Этабазаданныхявляетсяшаблономдлясозданияновых
баз данных в SQL Server. Если внести в нее изменения, например,
создатьнабор таблиц,то эти таблицыбудутприсутствоватьво всех
создаваемыхбазахданных.
– tempdb.Этабазаданныхпредназначенадлявременныхтаблици
хранимыхпроцедур,создаваемыхпользователямиисамимSQLServer.
ЭтабазаданныхсоздаетсязановоприкаждомзапускеSQLServer.
Создание пользовательских баз данных
База данных представляет собой группу файлов, хранящихся на
жесткомдиске.Эти файлы могутотноситься к тремтипам: файлы с
первичнымиданными,файлы с вторичнымиданными и файлыжурнала транзакций.Любая базаданных SQLServerсодержит по крайнеймередвафайла:первичныйфайлданных(обычносрасширением
.mdf) и файл журнала транзакций (обычно с расширением .ldf). Существуютдваспособаихсоздания:
– посредством обозревателя объектов SQL Server Management
Studio;
– посредствомкодаTransact-SQL.
16

Создание баз данных посредством обозревателя объектов
SQL Server Management Studio
Использование данной утилиты является самым простым способомсоздания базы данных. Создадимбазу данных Sales (Продажи),
которую позже заполним таблицами, представлениями и другими
объектами,предназначеннымидляотделапродаж.
Рис.3.1.Окно«NewDatabase»
Инфологическаямодельэтойбазыпредставленанарис.3.1.
1. Убедитесь, что окно «Object Explorer» («Обозреватель объектов»)открыто.Еслиононеоткрыто,откройтеего.Дляэтогозайдите
вменюView(Вид)ивыберитепункт«ObjectExplorer».
2. Вокне«Object Explorer» («Обозревательобъектов»)найдите и
раскройтепапку«Databases»(«Базыданных»).Щелкнитенанейправойкнопкоймышиивыберитеизконтекстногоменю«NewDatabase»
(«Новаябазаданных»).
3. Воткрывшемсядиалоговомокне«NewDatabase» («Новаябаза
данных»)настранице«General»(«Общие»)(см.рис.3.1)введитеимя
базыданныхSalesвполе«Databasename»(Имябазыданных).
4. Ознакомьтесь с имеющимися параметрами базы данных (описание параметров приведено нижев данной работе),но оставьтеих
поумолчанию.
5. Нажмитекнопку«ОК».
17

6. Убедитесь, что база данных создана. Для этого в блоке
«Databases»обозревателяобъектовдолжноотобразитьсяимя созданнойвамибазыданных.
Параметры базы данных
Owner (Владелец). В каждойбазе данных существуетспециаль-
ное имя пользователя– Data Base Owner (DBO), т.е. владелец базы
данных.Пользователь,создавший базу автоматическистановится её
владельцем, хотя эти права могут позднее быть делегированы другимпользователям.DBOможетвыполнятьлюбыеманипуляцииобъектамии назначатьправадругимпользователям.Делегироватьправа
другимпользователямможнов диалоговомокне, котороеможнооткрыть,кликнув покнопке
рядом с полемOwner вдиалоговом
окне«NewDatabase».
Database Files
Каждаябаза данныхSQLServer имееткак минимум дварабочих
системныхфайла: файлданных и файлжурнала. Файлыданных содержат данные и объекты, такие как таблицы, индексы, хранимые
процедурыипредставления.Файлыжурнала содержатсведения,необходимые для восстановления транзакций в базе данных. Файлы
данныхмогутбытьобъединенывфайловыегруппыдляудобствараспределенияиадминистрирования.
БазыданныхSQLServerимеюттритипафайлов:первичные,вторичныефайлыифайлыжурналатранзакций.
Первичные файлы. Первичныйфайлданныхсодержитсведения,
необходимыедля запускабазы данных, иссылкинадругиефайлы в
базеданных.Данныеиобъектыпользователямогутхранитьсявданномфайле или во вторичном файле данных. В каждойбазе данных
имеетсяодинпервичныйфайлданных.Дляименипервичногофайла
данныхрекомендуетсярасширениеMDF.
Вторичные файлы данных не являются обязательными; это
пользовательские файлы, в которых хранятся данные пользователя.
Вторичныефайлы могутбыть использованыдляраспределенияданных на несколькодисков,в этомслучае каждыйфайл записывается
наотдельныйдиск.Крометого,еслиразмербазыданныхпревышает
максимальныйразмер для одногофайла Windows, можно использоватьвторичныефайлы данных, таким образом, база данныхсможет
18

расти дальше. Для имени вторичного файла данных рекомендуется
расширениеNDF.
Файлы журнала транзакций содержат сведения, используемые
для восстановления базы данных. Для каждой базы данных должен
существоватьхотябыодинфайлжурнала.ДляфайловжурналатранзакцийрекомендуетсярасширениеLDF.
Файловые группы. Первичная файловая группа Primary есть
у каждой базы данных. Эта файловая группа содержит первичный
файлданныхивсевторичныефайлы,невходящиевдругиефайловые
группы. Пользовательские файловые группы могут создаваться для
удобстваадминистрирования,распределенияиразмещенияданных.
Например,трифайла,Data1.ndf,Data2.ndfиData3.ndf,могутбыть
созданынатрехдискахсоответственноиотнесеныкфайловойгруппеfgroup1.Вэтомслучаеможносоздатьтаблицунаосновефайловой
группыfgroup1.Запросыданных из таблицыбудутраспределеныпо
тремдискам,иэтоулучшитпроизводительность.Подобногоулучшенияпроизводительностиможнодостичьиспомощьюодногофайла,
созданного на чередующемся наборе дискового массива RAID. Тем
неменее файлы ифайловые группыпозволяют без трудадобавлять
новыефайлынановыедиски.
Присозданиибазыданныхфайлыданныхследуетделатькакможно большегоразмера, в соответствии с максимальным предполагаемымобъемомданныхвбазеданных.
В окне «New Database» отображается список файлов и соответствующиеимхарактеристики.
File typeозначаеттипфайла–«RowsData» и «Log». Первый тип
означает, что файл относится к первичным или вторичным файлам,
второйтип–клог-файлам(журналутранзакций).
Filegroup (Файловая группа).Поумолчаниюфайлуданных при
егосозданииприсваивается файловаягруппаPrimary,т.е.первичная
файловаягруппа.Чтобыдобавитьновуюфайловуюгруппу,необходимоперейтинастраницуFilegroups (Группы файлов).Нажмите«До-
бавить»ивведитезначениядляфайловойгруппы.
При добавлении файла в базу данных указывается его начальный размер Initial Size. Кроме этого, можно определить максимальный размер файла (Maxsize) и его автоматическое увеличение
(Autogrowth)вслучаезаполненияданными.
При создании базы данных необходимо либо указать начальный
размер данных и файлов журналов, либо принять размер по умол-
19

чанию. Эти файлы заполняются по мере добавления данных в базу
данных.Однакоследуетподуматьотом,будетлибазаданных(икак
будет) расти больше выделенного размера, если в нее сохраняются
данные,которыенепомещаютсявотведенныефайлы.
По умолчанию файлы данных растут до тех пор, пока есть свободноеместонадиске.Поэтому,еслифайлыбазыданныхнедолжны
увеличиваться больше размера, отведенного для них при создании,
это должно быть определено при создании базы данных с помощьюсредыSQLServerManagementStudio илиинструкцииCREATE
DATABASE.
Сдругойстороны,SQLServerпозволяетсоздаватьфайлыданных,
которыеавтоматическирасширяютсяпомереувеличенияобъемахранимыхданных,нотолькодо предопределенногомаксимальногоразмера.Этопозволяетпредотвратитьпереполнениедиска.
Стратегия заполнения файлов и файловых групп
В файловых группах для каждого файла используется стратегия
пропорционального заполнения. При записи данных в файловую
группукомпонентSQLServerDatabase Engineзаписывает в каждый
файл количество данных, пропорциональное свободному пространствуэтогофайла,вместозаписивсехданныхвпервыйфайлдоегозаполнения.Затемзаписьпроизводитсявследующийфайл. Например,
есливфайлеf1свободно100МБ,авфайлеf2–200МБ,товфайлf1
записываетсяодначастьданных,а вфайлf2 – двечасти.Такимобразом,обафайлабудутзаполненыпримерноводноитожевремя,и
достигаетсяпростейшеераспределениеданныхмеждухранилищами.
Кактолькозаполняются все файлыв группе,компонентDatabase
Engineавтоматическирасширяет по одномуфайлу за раз,перебирая
ихциклически и позволяя записыватьбольше данных, приусловии,
что разрешено автоматическоеувеличение базы данных. Например,
файловаягруппасостоитизтрехфайлов,длявсехразрешеноавтоматическоеувеличение. Когдасвободное пространство вовсехфайлах
группы закончится, будет расширен только первый файл. Когда заполнитсяпервыйфайливфайловуюгруппуснованельзябудетзаписыватьновыеданные,будетрасширенвторойфайл.Когдазаполнится
второйфайливфайловуюгруппуопятьнельзябудетзаписыватьновые данные, будетрасширен третий файл. Когдазаполнится третий
файл, и в файловуюгруппу нельзя будет записыватьновые данные,
будетсноварасширенпервыйфайлит.д.
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
