Главная » Microsoft SQL Server, Базы данных » Службы SQL Server

0

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

Реляционное ядро

Реляционное ядро SQL Server 2005, иногда называемое ядром базы данных, является сердцем SQL Server. Это процесс, поддерживающий всю реляционную работу базы данных. SQL — декларативный язык, т.е. он описывает ядру базы данных запрос, который тот должен выполнить. Именно он заставляет работать этот механизм.

Рис. 3.3. SQL Server — это набор серверных и клиентских компонентов

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

С выходом пакета обновлений SP2 улучшенное кэширование плана запроса Внимание! обеспечивает повышенную производительность системы, а также более эффективное использование оперативной памяти для страниц базы данных. Также обеспечивается возможность возвращения текстовых планов запросов XML, содержащих больше вложенных уровней XML, чем 128. При этом используется новая табличная функция sys .dm_exec_text_query_plan.

В реляционном ядре существует несколько ключевых процессов и компонентов, в том числе следующие.

?               Оптимизатор запросов (Query Optimizer). Определяет, как обрабатывать запрос, основываясь на относительных затратах, которые влечет за собой выполнение определенных типов операций. Оцененный и фактический планы выполнения запроса можно просмотреть в графическом представлении или в форме XML с помощью утилиты Management Studio (SSMS).

?               Диспетчер буфера (Buffer Manager). Анализирует используемые страницы данных и предварительно загружает определенные фрагменты файлов данных в память, снижая таким образом зависимость от производительности операций ввода-вывода на диск.

?               Lazy Writer. Записывает страницы данных, которые были изменены в памяти, в файл данных.

?               Монитор ресурсов (Resource Monitor). Оптимизирует кэш планов запросов в соответствии с нагрузкой на память и избирательно удаляет из него старые планы.

?               Диспетчер блокировок (Lock Manager). Динамически управляет множеством блокировок, выполняя балансировку количества затребованных блокировок с их размерами.

?               SQL Server поглощает ресурсы компьютера, поэтому ему нужен прямой контроль за доступными ресурсами (памятью, потоками, запросами на ввод-вывод и т.п.). Отдать управление ресурсами на откуп операционной системе совсем не сложно для SQL Server 2005. Она содержит собственный уровень ОС, называемый SQLOS, который управляет всеми внутренними ресурсами.

СУБД SQL Server прошла длинный путь с 1987 года, когда компания Sybase создала SQL Server для Unix. С тех пор СУБД пережила множество версий и обросла новыми технологиями. Если вам интересно прочитать об истории SQL Server, о различных кодовых названиях бета-версий, эволюции реализованных технологий, увидеть копии экранов прошлых версий, посетите специальную страницу “SQL Server History” по адресу www. SQLServerBible. com.

С выходом пакета обновлений SP1 было активизировано зеркальное отображение баз данных; оно поддерживается также и в промышленных реализациях.

Планы обслуживания теперь поддерживаются установкой службы SQL Server Внимание! Database. До выхода пакета обновлений SP2 для запуска плана обслуживания в серверных установках требовалась инсталляция службы интеграции SQL Server 2005.

Transact-SQL

СУБД SQL Server основана на стандарте SQL с некоторыми добавленными компанией Mictrosoft расширениями. Стандарт SQL впервые был введен доктором Коддом в 1971 году, когда он работал в исследовательской лаборатории ЮМ в Сан-Хосе. СУБД SQL Server 2005 в своей основе совместима со стандартом ANSI SQL-92. Полная спецификация стандарта ANSI SQL размещена в пяти документах, которые можно приобрести на сайте www.techstreet.com/ ncits.html.

Хотя стандарт ANSI SQL можно назвать идеальным для команд общего назначения отбора и определения данных, в него не входят команды, предназначенные для управления свойствами SQL Server и логического управления пакетами, необходимые для создания специфичных для приложений SQL Server. Исходя из этого, команда Microsoft SQL Server расширила спецификацию ANSI SQL рядом новых команд, а некоторые команды реализовала несколько по-своему. Результатом стал язык Transact-SQL, или, сокращенно, Т-SQL, — диалект SQL, распознаваемый SQL Server.

В T-SQL нет некоторых команд ANSI SQL (таких, как определение каскадности внешних ключей, обработки пустых значений и умолчаний) в основном потому, что компания Microsoft реализовала эти функции иначе. По умолчанию Т-SQL несколько по-иному, чем требует стандарт ANSI, обрабатывает пустые значения, кавычки и заполнения, но этим режимом можно управлять. Основываясь на своем личном опыте, могу сказать, что ни одно из этих отличий не влияет на процесс разработки приложений для SQL Server. T-SQL гораздо больше добавил в стандарт ANSI SQL, чем проигнорировал в нем.

Чтобы освоить SQL Server, нужно ознакомиться с языком Т-SQL, поскольку ядро SQL Server понимает только этот язык. Любая команда, посылаемая серверу, должна поддерживать правила этого языка. Пакеты хранимых команд Т-SQL могут выполняться на сервере как хранимые процедуры. Другие инструменты, такие как Management Studio, реализующие графический интерфейс пользователя, позволяют управлять сервером, преобразуя щелчки мышью на определенных инструментах в соответствующие команды Т-SQL, отправляемые ядру базы данных.

Команды SQL и Т-SQL можно разбить на три категории.

?               Язык манипулирования данными (Data Manipulation Language — DML). Включает в себя популярные инструкции SQL select, insert, update и delete. DML иногда ошибочно называют языком модификации данных (Data Modification Language), но это неверно, поскольку инструкция select данные не модифицирует, а извлекает.

?               Язык определения данных (Data Definition Language — DDL). Содержит инструкции, создающие и модифицирующие таблицы данных, ограничения и прочие объекты базы данных.

?               Язык управления данными (Data Control Language — DCL). Содержит инструкции управления системой безопасности, такие как grant, revoke и deny.

Visual Studio и CLR

Одним из самых впечатляющих новшеств является возможность совместной работы систем Visual Studio и SQL Server 2005. Несмотря на то что и в прошлом эти системы находились в тесной связи, сейчас интеграция Visual Studio 2005 и SQL Server 2005 сильнее, чем когда-либо раньше. Эти два продукта разрабатывались и были выведены на рынок одновременно, и это сразу видно. Утилита Management Studio основана на интегрированной среде разработки (ГОЕ) пакета Visual Studio. Однако интеграция сильнее, чем на первый взгляд видно по утилите Management Studio. Внутренняя операционная система пакета SQL Server 2005, SQLOS, на самом деле управляет общеязыковым интерпретатором .NET (CLR) внутри SQL Server.

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

Достаточно важно то, что в SQLOS поддерживается CLR. Это значит, что SQL Server управляет ресурсами CLR. СУБД может разрешить проблемы CLR, завершить выполнение и перезапустить процедуру CLR, которая стала источником проблем, и гарантировать, что в вечной войне за память победит нужный игрок.

По умолчанию общий интерпретатор языков CLR в SQL Server 2005 отключен. Но при желании его можно специально включить с помощью утилиты Surface Area Configuration Tool или команды T-SQL set. Когда интерпретатор включен, состояние любой сборки или способность доступа к программам вне SQL Server будет тщательно контролироваться.

Интеграция со средой .NET будет рассмотрена в главе 27 и 29.

Брокер служб

Впервые появившийся в версии SQL Server 2005 брокер служб (Service Broker) управляет асинхронными очередями данных, поддерживая ключевые средства производительности и масштабируемости и балансируя загрузку в течение времени.

?               Брокер служб может буферизовать большие объемы вызовов Web-служб HTTP или хранимых процедур. Вместо того чтобы вызов тысячи Web-служб запустил одновременно на выполнение тысячу потоков хранимых процедур, эти вызовы помещаются в очередь, и хранимые процедуры могут быть вызваны несколькими экземплярами SQL Server, что более эффективно распределит нагрузку.

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

Несмотря на то что в SQL Server можно создать собственные очереди, существует ряд преимуществ в использовании стандартных рабочих очередей Microsoft. SQL Server содержит команды DDL, управляющие брокером служб; есть команды Т-SQL, помещающие данные в очередь и извлекающие их из нее. Информация об очередях брокера служб представлена в метаданных представлений, а также в утилитах Management Studio и System Monitor. Наиболее важно то, что брокер служб основательно протестирован и спроектирован специально для систем с исключительно большой нагрузкой.

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

Служба репликаций

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

Дополнительная В главе 39 описаны различные модели репликации и методы их настройки.

информация

Полнотекстовый поиск

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

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

Дополнительная В главе 13 вы узнаете, как настроить и использовать полнотекстовый поиск в информация запросах SQL.

Служба Microsoft Search Service, выполняющая полнотекстовый поиск, на самом деле является компонентом операционной системы и предназначена для поиска текста в файлах. SQL Server при выполнении полнотекстового поиска берет на вооружение именно эту службу. Эта служба может быть остановлена и запущена в утилите SQL Server Configuration Manager или в консоли Службы панели управления Windows.

Служба уведомлений

Изначально выпущенная в 2003 году в качестве надстройки для SQL Server 2000, служба уведомлений (Notification Service) может быть запрограммирована для отправки сообщений при возникновении определенных событий с данными. Сообщения могут отсылаться практически на любое устройство, в том числе на пейджеры, мобильные телефоны и по электронной почте. Типичным приложением службы уведомлений может быть система сообщений на транспортных узлах, которая автоматически информирует пассажиров об изменении в расписании и задержках рейсов.

Объекты управления сервером (SM0)

Server Management Objects (SMO) — это набор объектов, который открывает функции конфигурирования и управления SQL Server для программирования с помощью кода .NET. Объекты SMO не предназначены для разработки приложений баз данных — они используются производителями при разработке инструментария SQL Server, такого как утилита Management Studio, сторонние интерфейсы управления или утилиты резервного копирования. SMO использует пространство имен Microsoft.SQLServer.SMO.

Объекты SMO заменили старые объекты SQL-DMO, существовавшие в версии Новинка ^ SQL Server 7 и SQL Server 2000. Объекты SMO имеют обратную совместимость 2005       с SQL Server 7 и SQL Server 2000.

SQL Server Agent

SQL Server Agent представляет собой дополнительный процесс, который выполняет задания SQL и обслуживает прочие автоматизированные задачи. Он может быть сконфигурирован для автоматического запуска при загрузке системы; также он может запускаться вручную из утилит SQL Server Configuration Manager и SQL Server Surface Area Configuration Tool.

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

Координатор распределенных транзакций

Координатор распределенных транзакций (Distributed Transaction Coordinator— DTC) представляет собой процесс, поддерживающий двухфазные подтверждения для транзакций, которые охватывают несколько серверов. Процесс DTC может быть запущен из консоли служб панели управления Windows. Если приложение регулярно использует распределенные транзакции, то лучше сконфигурировать DTC для автоматического запуска при загрузке операционной системы.

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

SQL Mail

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

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

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии