Использование SQL Server 2008 с клиент-серверными приложениями

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

При выборе установки клиентских компонентов будут установлены следующие компоненты SQL Server: программы командной строки, средства служб Reporting Services, компоненты связи, модели программирования, средства управления и разработки и электронная документация по SQL Server.

Компоненты SQL Server

При установке SQL Server мастер установки на странице «Выбор компонентов» позволяет выбрать компоненты SQL Server, которые должны быть установлены.

Компоненты сервера Описание
SQL Server Database Engine В состав компонента SQL Server Database Engine входит компонент Database Engine, основная служба для хранения, обработки и обеспечения безопасности данных, репликации, полнотекстового поиска и средств управления реляционными и XML-данными.
Analysis Services Службы Analysis Services содержат средства создания и управления приложениями аналитической обработки в сети (OLAP) и приложениями интеллектуального анализа данных.
Reporting Services Службы Reporting Services включают в себя серверные и клиентские компоненты для создания, управления и развертывания табличных, матричных и графических отчетов, а также отчетов в свободной форме. Службы Reporting Services являются расширяемой платформой, которую можно использовать для разработки приложений отчетов.
Integration Services Службы Integration Services представляют собой набор графических средств и программируемых объектов для перемещения, копирования и преобразования данных.
Средства управления Описание
SQL Server Management Studio Среда SQL Server Management Studio представляет собой интегрированную среду для доступа, настройки, управления, администрирования и разработки компонентов SQL Server. Среда Management Studio позволяет работать с SQL Server разработчикам и администраторам любого уровня подготовки. Обозреватель Internet Explorer 6 с пакетом обновления 1 или более поздней версии необходим для любой установки среды Management Studio.
Диспетчер конфигурации SQL Server Диспетчер конфигурации SQL Server обеспечивает базовые возможности управления конфигурациями для служб, серверных протоколов, клиентских протоколов и псевдонимов клиентов SQL Server.
SQL Server Profiler Приложение SQL Server Profiler предоставляет графический пользовательский интерфейс для наблюдения за экземпляром компонента Database Engine или служб Analysis Services.
Помощник по настройке ядра СУБД Помощник по настройке ядра СУБД помогает создавать оптимальные наборы индексов, индексированных представлений и секций.
Business Intelligence Development Studio Среда Business Intelligence Development Studio представляет собой интегрированную среду разработки для решений служб Analysis Services, Reporting Services и Integration Services. Обозреватель Internet Explorer 6 с пакетом обновления 1 или более поздней версии необходим для любой установки среды BI Development Studio.
Компоненты связи Устанавливает компоненты для связи между клиентами и серверами и сетевые библиотеки для DB-библиотеки, ODBC и OLE DB.
Документация Описание
Электронная документация по SQL Server Основная документация для SQL Server.
   
   
       

Экземпляры SQL Server

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

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

Каждый экземпляр является либо экземпляром по умолчанию, либо именованным. Имя экземпляра по умолчанию – «MSSQLSERVER». Имя экземпляра SQL ServerExpress по умолчанию – «SQLExpress». Клиенту при установлении соединения имя экземпляра указывать необязательно. Именованный экземпляр определяется пользователем при установке и может быть установлен без предварительной установки экземпляра по умолчанию. Экземпляром по умолчанию может быть SQL Server 2000, SQL Server 2005 или SQL Server 2008.

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

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

Когда Вы устанавливаете SQL Server, автоматически создается четыре системные базы данных, которые играют жизненно важную роль для нормального функционирования SQL Server - Master, Resource, Model, Msdb и Tempdb.

База данных Master

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

База данных Resource

База данных Resource содержит все системные объекты, входящие в SQL Server, и доступна только для чтения. Физические файлы базы данных Resource имеют имена mssqlsystemresource.mdf и mssqlsystemresource.ldf. С каждым экземпляром SQL Server может быть связан один и только один файл mssqlsystemresource.mdf; кроме того, экземпляры не могут использовать этот файл совместно.

Системные объекты SQL Server, такие как sys.objects, физически хранятся в базе данных Resource, а логически отображаются в схеме sys для каждой базы данных. База данных Resource не содержит пользовательских данных или метаданных и скрыта от пользователя, она не отображается в Обозревателе объектов, информацию о ней нельзя получить вызовом системной хранимой процедуры sp_helpdb или запросом к представлению sys.databases.

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

База данных Model

Эта база данных используется, как шаблон для новых баз данных то есть, всякий раз, когда Вы создаете новую базу данных, объекты в этой базе данных копируется в новую базу данных. Например, когда создается новая база данных <db name> без указания её размера, SQL создаст её с размер Model, то есть 0.75 МБ и скопирует все объекты из образцовой базы в новую базу данных. Если Вы хотите исполнить некоторые схожие действия для всех вновь создаваемых пользовательских базах данных, Вы можете включать необходимые объекты, таблицы, процедуры и т. п. в Model, и тогда, каждая новая база данных также будет их содержать.

База данных Msdb

Это одна из важных системных баз данных SQL, обеспечивающая его управление и обслуживание. База данных Msdb содержит задания (task-scheduling), обработку исключений, аварийное управление и информацию об операторах системы, то есть содержит информацию для всех операторов об их адресах электронной почты или номерах пейджера, а также информацию об истории по всем сеансам резервного копирования или восстановления баз данных.

База данных Tempdb

Следуя своему названию, эта база данных хранит все временные таблицы и промежуточные результаты group by, order by, distinct и т.д. Временные данные хранятся в Tempdb, пока хоть один пользователь подключён к SQL Server. Существует два вида временных таблиц: локальные и глобальные. Локальные временные таблицы видны только их создателям до завершения сеанса соединения с экземпляром SQL Server, как только они впервые созданы или когда на них появляется ссылка. Локальные временные таблицы удаляются после отключения пользователя от экземпляра SQL Server. Глобальные временные таблицы видны всем пользователям в течение любых сеансов соединения после создания этих таблиц и удаляются, когда все пользователи, ссылающиеся на эти таблицы, отключаются от экземпляра SQL Server. Tempdb создаётся каждый раз заново при запуске SQL сервера, поэтому все временные данные будут потеряны после перезагрузки SQL сервера или при его крахе.

Лекция № 9

Файлы и файловые группы

База данных - это некоторый набор перманентных (постоянно хранимых) данных, используемых прикладными программными системами какого-либо предприятия.

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

· Первичные файлы

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

· Вторичные файлы

Вторичные файлы данных не являются обязательными; это пользовательские файлы, в которых хранятся данные пользователя. Вторичные файлы могут быть использованы для распределения данных на несколько дисков, в этом случае каждый файл записывается на отдельный диск. Кроме того, если размер базы данных превышает максимальный размер для одного файла Windows, можно использовать вторичные файлы данных, таким образом база данных сможет расти дальше. Для имени вторичного файла данных рекомендуется расширение NDF.

· Журналы транзакций

В этих файлах содержатся данные журнала - информация об операциях, произведенных над базой данных. Протоколирование производимых операций необходимо для обеспечения возможности восстановления базы данных после сбоев или неверных изменений данных. В каждой базе данных должен быть, как минимум, один файл журнала транзакций, а может быть и несколько таких файлов. Для файлов журнала транзакций рекомендуется расширение LDF.

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

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

Файлы данных MS SQL Server объединены в файловые группы. Данные внутри файловой группы распределяются по файлам пропорционально свободному месту в файлах. Например, если в файле f1 свободно 100 МБ, а в файле f2 - 200 МБ, то в файл f1 будет записана одна часть данных, а в файл f2- две части, при этом оба файла будут заполнены примерно в одно и то же время.

Как только заполняются все файлы в группе, компонент Database Engine перебирает файлы файловой группы в поисках файла для которого разрешено автоматическое увеличение. Увеличение размера происходит циклически по одному файлу за раз. Например, файловая группа состоит из трех файлов, для всех разрешено автоматическое увеличение. Когда свободное пространство во всех файлах группы закончится, будет расширен только первый файл. Когда заполнится первый файл и в файловую группу снова нельзя будет записывать новые данные, будет расширен второй файл. Когда заполнится второй файл и в файловую группу опять нельзя будет записывать новые данные, будет расширен третий файл. Когда заполнится третий файл и в файловую группу нельзя будет записывать новые данные, будет снова расширен первый файл и т. д.

Используя этот механизм распределения данных по файлам, можно увеличить производительность доступа к данным, разместив файлы файловой группы на разных физических носителях (при таком размещении данные могут писаться параллельно, образуя подобие чередующегося дискового массива RAID). Например, три файла f1, f2 и f3, могут быть созданы на трех дисках соответственно и отнесены к файловой группе fgroup1. Можно создать таблицу размещенную на файловой группе fgroup1. В этом случае, запросы данных из таблицы будут распределены по трем дискам, что несколько улучшит производительность. Подобного улучшения производительности можно достичь и с помощью одного файла, созданного на чередующемся наборе дискового массива RAID. Тем не менее, файлы и файловые группы позволяют без труда добавлять новые файлы на новые диски.

Все файлы данных хранятся в файловых группах, перечисленных в следующей таблице.

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

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

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

Наши рекомендации