Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Базы данных создание баз данных в среде SQL Server. Лабораторный практикум

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
«Object Explorer Details» не отображается, ее, как и другие панели, можновызватьчерезменюView.
В панеляхObject Explorer и Registered Servers объект следующе­гоуровняпоявляется, толькоесли выщелкнулипо символу «плюс» (+) у его непосредственного предшественника (родителя) в дереве иерархии. Чтобы просмотреть свойства объекта, щелкните по объ­ектуправойкнопкоймышиивконтекстномменювыберитекоманду Properties.Символминуса(–)слеваотимени объектауказывает,что объектвнастоящиймомент раскрыт.Чтобысвернуть всеподчинен­ныеобъектыданногообъекта,щелкнитепо этомусимволу«минус». (Другойвозможностьюявляетсядвойнойщелчокпопапкеилинажа­тиеклавиши«–»втовремя,когдаэтапапкаявляетсявыделенной).
Контрольные вопросы
1. ЧтотакоесерверныеСУБД?
2. Перечислите основные компоненты MS SQL Server. Для чего
предназначенакаждаяизэтихкомпонент?
3. Чтотакое«Служба»вSQLServer?Какона запускается/пере-
запускается/останавливается?Продемонстрируйтенапримере.
4. Чтотакоеаутентификация?Какиетипыаутентификациисуще-
ствуютвMSSQLServer?
5. КакиетипытранспортныхпротоколовиспользуютсявMSSQL
Server?
6. ВкакихслучаяхимеетсмыслизменятьзначениеNetworkpacket
size?
11
Лабораторная работа 2
ДИСПЕТЧЕР КОНФИГУРАЦИИ SQL SERVER
Цель работы: ознакомитьсяспараметрамиподключениявконфи-
гуратореSQLServer’а.
Диспетчер конфигурации SQL Server (SQL Server Conguration
Manager)(рис.2.1)служитдляуправленияслужбамиипротоколами
SQL Server. В данной работе рассмотрим только некоторые из воз­можностейдиспетчераконфигурации.
Запуститедиспетчер конфигурацииSQLServer через меню Пуск
--> Microsoft SQL Server 2014 --> Conguration Tools --> Sql Server CongurationManager.
Рис.2.1.ДиспетчерконфигурацииSQLServer
Запуск, остановка, приостановка, возобновление и перезапуск компонента Database Engine, агента SQL и службы браузера SQL Server
Компоненты SQL Server являются исполняемыми программами, работающимивкачествеслужбWindows.Программы,запущенныев качествеслужбWindows,работают,не проявляяникакойактивности наэкране компьютера.Для того чтобы посмотреть всеслужбыи их
12
параметры,необходимовыбрать«SQLServerServices»влевойчасти окнадиспетчераконфигурации.
Компонент Database Engine
Исполняемый процесс, который представляет собой компонент SQLServer DatabaseEngine. КомпонентDatabaseEngine можетбыть экземпляромпоумолчанию(можетбытьтолькоодин на одномком­пьютере) либо может быть одним из нескольких именованных эк­земпляров КомпонентDatabase Engine. С помощью диспетчера кон­фигурации SQL Server определите, какие экземпляры Компонент Database Engine установлены накомпьютере.Экземпляр по умолча­нию(есливыегоустановили)указанвспискеподименемSQLServer (MSSQLSERVER). Именованные экземпляры (если вы установили их)перечисленыкакSQLServer(<имя_экземпляра>).Поумолчанию SQLServerExpressустанавливаетсякакSQLServer(SQLEXPRESS).
Длякаждойслужбыможетбытьодноизсостояний–Running(За­пущено) или Stopped (Остановлено). Состояние отображается в ко­лонкеСостояние(State)таблицыслужб.
Рис.2.2.Изменениережимазапускаслужбы
вдиалоговомокнесвойств
13
Любаяизслужбможетзапускатьсяавтоматически(Automatic)при запускеWindowsили вручную(Manual),или можетбыть отключена (Disabled).Режимзапуска(StartMode)отображаетсявсоответствую­щейколонкетаблицы.Длязапускаиливыключенияслужбынеобхо­димокликнуть правойкнопкоймыши нанаименованиисоответству­ющейслужбыиизконтекстногоменювыбратьStart(Запустить),Stop (Остановить), Pause (Приостановить) или Restart (Перезапустить) в зависимостиоттого,чтоВыхотитесделать.
Если вы хотитеизменить режим запуска, то нажмите правой кноп­коймыши на строкусоответствующейслужбыи выберите «Свойства». Воткрывшемсядиалоговомокне(рис.2.2)перейдитевовкладкуService и изменитьрежим запуска(Start Mode) на требуемый.После этогона­жмитекнопку«Применить»,еслиВыжелаетепродолжитьработусэтим окном,иликнопку«ОК»длязакрытияэтогодиалоговогоокна.
Протоколы
Для включения или выключения протоколов раскройте в правой частиокнапунктSQLServerNetworkProtocolикликнитенаProtocols forMSSQLSERVER.В правой части окна отобразитсясписок прото­коловSharedMemory,NamedPipesиTCP/IP.Длявключенияиливы­ключениясоответствующегопротоколакликнитепонемудваждыле­войкнопкоймыши.ЕслизначениесвойстваEnabledустановленокак Yes,значит этотпротоколвключен. Если вам необходимо этотпро­токолизменить,тоисправьтезначениеэтогосвойстванаNo.Включе­ниепротоколаосуществляетсяпутемизменениязначенияэтогосвой­ствасNoнаYes.
После изменения параметров конфигурации необходимо переза­грузитьсервер базы данных. Для этогонеобходимоперейтив список служб, кликнуть по наименованию службы «SQL Server» и из кон­текстногоменювыбратьRestart.Врезультатепроизойдетперезагрузка основнойслужбыSQLServerсновымипараметрамиконфигурации.
Воткрывшемсяокне «Свойства сервера»(ServerProperties) пере­ходимна вкладку«Память» (Memory), на которойдоступны для из­мененияразныепараметры.
Минимальныйразмерпамятисервера (Minimumservermemory)– указывает минимальный размер оперативной памяти в мегабайтах, который будет выделен при запуске SQL Server и не будет в даль­нейшем уменьшаться. Следует задавать такое значение,чтобы SQL Serverнемешалработеоперационнойсистемыипрограмм,работаю­щихнаданномкомпьютере.
14
Максимальный размер памяти сервера (Maximum server memory) – максимальныйобъемоперативнойпамятивмегабайтах,которыйможет использоватьSQLServerво время работы.Устанавливатьданныйпара­метримеетсмысл,еслиизвестно,чтоодновременносSQLServerбудет запущенонесколькодругихприложений,которыеиспользуютвесьобъ­емпамяти,доступныйвмоментзапуска,инезапрашиваютеедополни­тельно(т.е.незапрашиваютпамятьпринеобходимости).В этомслучае необходимо установить такое значение максимального размера памя­ти сервера, при котором обеспечиваетсянеобходимый для приложения объемпамяти, не занимаемый SQL Server. Минимальный объемпамя­ти,которыйможноустановитьдляданногопараметра,равен64МБдля 32-разрядныхсистеми128МБдля64-разрядныхсистем.
Память для создания индекса (Index creation memory) – устанав­ливает объем памяти в килобайтах, который используетсяво время операциисортировкиприсозданиииндекса.Значениепоумолчанию, равное0,соответствуетдинамическомураспределению,котороемож­но использовать в большинстве случаев без дальнейшей настройки. Значениязадаютсявдиапазонеот704до2147483647.
Минимальный объем памяти для запроса (Minimum memory per query)–устанавливаетобъемпамятивкилобайтах, выделяемыйдля выполнения запроса. Возможнозадать значение в диапазоне от 512 до2147483647килобайт.Значениепоумолчанию–1024.
Введя необходимыепараметры, нажимаем «ОК» для сохранения изменений.
Контрольные вопросы
1. Для каких целей используется диспетчер конфигурации SQL
Server?
2. КогдаикакнеобходимоделатьперезагрузкусервераSQL?
3. МожетлибытьзапущенаслужбаSQLServer,если выключены
всесетевыепроколы?
4. ПрисоединениисSQLServerВывидитеследующуюошибку:
Чтоозначаетэтаошибка?Какееустранить?
15
Лабораторная работа 3
СОЗДАНИЕ БАЗ ДАННЫХ
Цель работы: научитьсясоздаватьбазу данныхс помощьюSQL
ServerManagementStudio.
Прежде чем перейти к созданиюсвоих собственныхрабочих баз данных, рассмотрим служебные базы данных SQL Server, которые создаются автоматически в процессе его установки. Если мы рас­кроемузел«Базыданных–Системныебазыданных»вобозревателе объектов,тоувидимследующийнаборслужебныхбазданных:
– master. Главная служебная база данных всего сервера. В ней хранитсяобщаяслужебнаяинформациясервера:настройкиегорабо­ты,списокбазданных на сервересинформациейонастройкахкаж­дойбазыданныхиеефайлах,информацияобучетныхзаписяхполь­зователей,серверныхроляхит.п.
– msdb. Этабаза данных восновном используетсядля хранения информации службы SQL Server Agent (пакетных заданий, преду­прежденийит.п.),новнеезаписываетсяидругаяслужебнаяинфор­мация(например,историярезервногокопирования).
– model.Этабазаданныхявляетсяшаблономдлясозданияновых баз данных в SQL Server. Если внести в нее изменения, например, создатьнабор таблиц,то эти таблицыбудутприсутствоватьво всех создаваемыхбазахданных.
– tempdb.Этабазаданныхпредназначенадлявременныхтаблици хранимыхпроцедур,создаваемыхпользователямиисамимSQLServer. ЭтабазаданныхсоздаетсязановоприкаждомзапускеSQLServer.
Создание пользовательских баз данных
База данных представляет собой группу файлов, хранящихся на жесткомдиске.Эти файлы могутотноситься к тремтипам: файлы с первичнымиданными,файлы с вторичнымиданными и файлыжур­нала транзакций.Любая базаданных SQLServerсодержит по край­неймередвафайла:первичныйфайлданных(обычносрасширением .mdf) и файл журнала транзакций (обычно с расширением .ldf). Су­ществуютдваспособаихсоздания:
– посредством обозревателя объектов SQL Server Management
Studio;
– посредствомкодаTransact-SQL.
16
Создание баз данных посредством обозревателя объектов SQL Server Management Studio
Использование данной утилиты является самым простым спосо­бомсоздания базы данных. Создадимбазу данных Sales (Продажи), которую позже заполним таблицами, представлениями и другими объектами,предназначеннымидляотделапродаж.
Рис.3.1.Окно«NewDatabase»
Инфологическаямодельэтойбазыпредставленанарис.3.1.
1. Убедитесь, что окно «Object Explorer» («Обозреватель объек­тов»)открыто.Еслиононеоткрыто,откройтеего.Дляэтогозайдите вменюView(Вид)ивыберитепункт«ObjectExplorer».
2. Вокне«Object Explorer» («Обозревательобъектов»)найдите и раскройтепапку«Databases»(«Базыданных»).Щелкнитенанейпра­войкнопкоймышиивыберитеизконтекстногоменю«NewDatabase» («Новаябазаданных»).
3. Воткрывшемсядиалоговомокне«NewDatabase» («Новаябаза данных»)настранице«General»(«Общие»)(см.рис.3.1)введитеимя базыданныхSalesвполе«Databasename»(Имябазыданных).
4. Ознакомьтесь с имеющимися параметрами базы данных (опи­сание параметров приведено нижев данной работе),но оставьтеих поумолчанию.
5. Нажмитекнопку«ОК».
17
6. Убедитесь, что база данных создана. Для этого в блоке «Databases»обозревателяобъектовдолжноотобразитьсяимя создан­нойвамибазыданных.
Параметры базы данных Owner (Владелец). В каждойбазе данных существуетспециаль-
ное имя пользователя– Data Base Owner (DBO), т.е. владелец базы данных.Пользователь,создавший базу автоматическистановится её владельцем, хотя эти права могут позднее быть делегированы дру­гимпользователям.DBOможетвыполнятьлюбыеманипуляцииобъ­ектамии назначатьправадругимпользователям.Делегироватьправа другимпользователямможнов диалоговомокне, котороеможноот­крыть,кликнув покнопке
рядом с полемOwner вдиалоговом
окне«NewDatabase».
Database Files
Каждаябаза данныхSQLServer имееткак минимум дварабочих системныхфайла: файлданных и файлжурнала. Файлыданных со­держат данные и объекты, такие как таблицы, индексы, хранимые процедурыипредставления.Файлыжурнала содержатсведения,не­обходимые для восстановления транзакций в базе данных. Файлы данныхмогутбытьобъединенывфайловыегруппыдляудобстварас­пределенияиадминистрирования.
БазыданныхSQLServerимеюттритипафайлов:первичные,вто­ричныефайлыифайлыжурналатранзакций.
Первичные файлы. Первичныйфайлданныхсодержитсведения, необходимыедля запускабазы данных, иссылкинадругиефайлы в базеданных.Данныеиобъектыпользователямогутхранитьсявдан­номфайле или во вторичном файле данных. В каждойбазе данных имеетсяодинпервичныйфайлданных.Дляименипервичногофайла данныхрекомендуетсярасширениеMDF.
Вторичные файлы данных не являются обязательными; это пользовательские файлы, в которых хранятся данные пользователя. Вторичныефайлы могутбыть использованыдляраспределениядан­ных на несколькодисков,в этомслучае каждыйфайл записывается наотдельныйдиск.Крометого,еслиразмербазыданныхпревышает максимальныйразмер для одногофайла Windows, можно использо­ватьвторичныефайлы данных, таким образом, база данныхсможет
18
расти дальше. Для имени вторичного файла данных рекомендуется расширениеNDF.
Файлы журнала транзакций содержат сведения, используемые
для восстановления базы данных. Для каждой базы данных должен существоватьхотябыодинфайлжурнала.Дляфайловжурналатран­закцийрекомендуетсярасширениеLDF.
Файловые группы. Первичная файловая группа Primary есть
у каждой базы данных. Эта файловая группа содержит первичный файлданныхивсевторичныефайлы,невходящиевдругиефайловые группы. Пользовательские файловые группы могут создаваться для удобстваадминистрирования,распределенияиразмещенияданных.
Например,трифайла,Data1.ndf,Data2.ndfиData3.ndf,могутбыть созданынатрехдискахсоответственноиотнесеныкфайловойгруп­пеfgroup1.Вэтомслучаеможносоздатьтаблицунаосновефайловой группыfgroup1.Запросыданных из таблицыбудутраспределеныпо тремдискам,иэтоулучшитпроизводительность.Подобногоулучше­нияпроизводительностиможнодостичьиспомощьюодногофайла, созданного на чередующемся наборе дискового массива RAID. Тем неменее файлы ифайловые группыпозволяют без трудадобавлять новыефайлынановыедиски.
Присозданиибазыданныхфайлыданныхследуетделатькакмож­но большегоразмера, в соответствии с максимальным предполагае­мымобъемомданныхвбазеданных.
В окне «New Database» отображается список файлов и соответ­ствующиеимхарактеристики.
File typeозначаеттипфайла–«RowsData» и «Log». Первый тип означает, что файл относится к первичным или вторичным файлам, второйтип–клог-файлам(журналутранзакций).
Filegroup (Файловая группа).Поумолчаниюфайлуданных при егосозданииприсваивается файловаягруппаPrimary,т.е.первичная файловаягруппа.Чтобыдобавитьновуюфайловуюгруппу,необходи­моперейтинастраницуFilegroups (Группы файлов).Нажмите«До- бавить»ивведитезначениядляфайловойгруппы.
При добавлении файла в базу данных указывается его началь­ный размер Initial Size. Кроме этого, можно определить макси­мальный размер файла (Maxsize) и его автоматическое увеличение (Autogrowth)вслучаезаполненияданными.
При создании базы данных необходимо либо указать начальный размер данных и файлов журналов, либо принять размер по умол-
19
чанию. Эти файлы заполняются по мере добавления данных в базу данных.Однакоследуетподуматьотом,будетлибазаданных(икак будет) расти больше выделенного размера, если в нее сохраняются данные,которыенепомещаютсявотведенныефайлы.
По умолчанию файлы данных растут до тех пор, пока есть сво­бодноеместонадиске.Поэтому,еслифайлыбазыданныхнедолжны увеличиваться больше размера, отведенного для них при создании, это должно быть определено при создании базы данных с помо­щьюсредыSQLServerManagementStudio илиинструкцииCREATE DATABASE.
Сдругойстороны,SQLServerпозволяетсоздаватьфайлыданных, которыеавтоматическирасширяютсяпомереувеличенияобъемахра­нимыхданных,нотолькодо предопределенногомаксимальногораз­мера.Этопозволяетпредотвратитьпереполнениедиска.
Стратегия заполнения файлов и файловых групп
В файловых группах для каждого файла используется стратегия пропорционального заполнения. При записи данных в файловую группукомпонентSQLServerDatabase Engineзаписывает в каждый файл количество данных, пропорциональное свободному простран­ствуэтогофайла,вместозаписивсехданныхвпервыйфайлдоегоза­полнения.Затемзаписьпроизводитсявследующийфайл. Например, есливфайлеf1свободно100МБ,авфайлеf2–200МБ,товфайлf1 записываетсяодначастьданных,а вфайлf2 – двечасти.Такимоб­разом,обафайлабудутзаполненыпримерноводноитожевремя,и достигаетсяпростейшеераспределениеданныхмеждухранилищами.
Кактолькозаполняются все файлыв группе,компонентDatabase Engineавтоматическирасширяет по одномуфайлу за раз,перебирая ихциклически и позволяя записыватьбольше данных, приусловии, что разрешено автоматическоеувеличение базы данных. Например, файловаягруппасостоитизтрехфайлов,длявсехразрешеноавтома­тическоеувеличение. Когдасвободное пространство вовсехфайлах группы закончится, будет расширен только первый файл. Когда за­полнитсяпервыйфайливфайловуюгруппуснованельзябудетзапи­сыватьновыеданные,будетрасширенвторойфайл.Когдазаполнится второйфайливфайловуюгруппуопятьнельзябудетзаписыватьно­вые данные, будетрасширен третий файл. Когдазаполнится третий файл, и в файловуюгруппу нельзя будет записыватьновые данные, будетсноварасширенпервыйфайлит.д.
20