Что такое ms sql server простыми словами. Система управления базами данных SQL Server

Глава из официального учебного курса Microsoft (Экз. № 229): Проектирование и реализация баз данных Microsoft SQL Server 2000 +(CD)
Авторы рассылки благодарят издательский дом ПИТЕР за предоставленные к публикации материалы.

В этой главе

Книга посвящена проектированию и реализации баз данных Microsoft SQL Server 2000. В ней подробно рассказано о том, как планировать базы данных, создавать объекты баз данных, управлять ими и обеспечивать целостность данных. Вы также познакомитесь с языком Transact SQL и узнаете, как применять написанные на нем запросы для работы с данными. В книге описываются особенности системы безопасности и способы оптимизации баз данных SQL Server.
Учебный курс предназначен проектировщикам, а также специалистам по планированию, внедрению и поддержке Microsoft SQL Server 2000. Кроме того, он будет полезен тем, кто готовится к сертификационному экзамену по программе МСР 70-229: Designing and Implementing Databases w ith Microsoft SQL Server 2000 Enterprise Edition.
Представленная ниже глава из книги познакомит вас с SQL Server 2000. В ней описаны компоненты SQL Server 2000 и разъясняются способы их взаимодействия в реляционной СУБД. Многие темы подробно рассмотрены в последующих главах. Назначение же этой главы - дать обзор связей между компонентами SQL Server, что позволит понять, как эти компоненты формируют его структуру.

Прежде всего

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

Занятие 1. Знакомство с SQL Server 2000

Microsoft SQL Server 2000 - это законченное решение для управления и анализа данных, позволяющее оперативно развертывать масштабируемые Web-приложения нового поколения. SQL Server 2000 - ключевой компонент поддержки электронной коммерции, интерактивных деловых приложений и хранилищ данных, обеспечивающий масштабируемость, необходимую для поддержки растущих, динамических сред. В SQL Server 2000 предусмотрена широчайшая поддержка XML (Extensible Markup Language) и других форматов, используемых в Интернете, функций производительности и доступности, гарантирующих своевременное решение поставленных задач, а также развитой функциональности управления и настройки, позволяющей автоматизировать выполнение рутинных задач и снизить совокупную стоимость владения. Кроме того, SQL Server 2000 в полном объеме использует преимущества Windows 2000, обеспечивая интеграцию с Active Directory Services и поддерживая до 32 процессоров и до 64 гигабайт (Гб) оперативной памяти.

    дать описание реляционной СУБД SQL Server 2000, в том числе ее основных компонентов;

    описать некоторые важные возможности SQL Server 2000;

    отличать разные редакции SQL Server 2000.

Продолжительность занятия - около 20 минут.

Что такое SQL Server 2000

SQL Server 2000 - это реляционная СУБД, которая использует язык Transact SQL для пересылки сообщений между компьютером клиента и компьютером, на котором работает SQL Server 2000. Реляционная СУБД состоит из механизма баз данных, собственно баз данных и приложений, необходимых для управления данными и компонентами реляционной СУБД. Реляционная СУБД организует данные в виде связанных строк и столбцов, составляющих базу данных. Реляционная СУБД отвечает за поддержку структуры базы данных и решает следующие задачи:

    поддерживает связи между данными в базе;

    гарантирует корректное хранение данных и выполнение правил, регламентирующих связи между ними;

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

База данных (БД) SQL Server 2000 представляет собой реляционную базу данных, совместимую с SQL (Structured Query Language) с интегрированной поддержкой XML для Интернет приложений. SQL Server 2000 создан на основе современного расширяемого сервера SQL Server 7.0. В следующих разделах вы познакомитесь с базами данных, реляционными базами данных, SQL и XML.

Базы данных

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

Реляционные базы данных

Несмотря на наличие разных способов организации информации в виде баз данных, реляционные СУБД считаются одними из наиболее эффективных. В реляционной СУБД для эффективной организации данных используется математическая теория множеств. В реляционной базе данных информация организована в виде таблиц. Таблица описывает некоторый класс объектов, важных для организации. Например, в базе данных какой-либо компании одна таблица может быть предназначена для сведений о работниках, другая - для сведений о покупателях и еще одна - для сведений о магазинах. Любая таблица состоит из столбцов и строк (в теории реляционных баз данных это атрибуты и кортежи соответственно). Каждый столбец определяет атрибут класса объектов, представленных таблицей.
Например, в таблице для сведений о работниках могут быть столбцы, определяющие такие атрибуты, как имя, фамилия, идентификационный номер, отдел, тарифный разряд и название должности работника. А каждая строка описывает отдельный экземпляр объекта, представленного таблицей. Например, одна из строк таблицы со сведениями о работниках может описывать работника с идентификационным номером 12345.
Существует множество способов табличной организации данных. В теории реляционных баз данных известен процесс под названием нормализация, который обеспечивает эффективную организацию данных посредством определенного набора таблиц. Нормализация подробно обсуждается в главе 3.

SQL

Для работы с информацией из базы данных необходим набор команд и операторов (язык), который поддерживается СУБД. С реляционными базами данных можно использовать различные языки, но наиболее распространен язык SQL. Стандарты на ПО, в том числе стандарты SQL, определяются организациями ANSI (American National Standards Institute) и ISO (International Organization for Standardization). SQL Server 2000 поддерживает Entry Level SQL-92 - стандарт SQL, опубликованный ANSI и ISO в 1992 году. Диалект SQL, который поддерживает SQL Server, называется Transact SQL. Это основной язык, используемый приложениями SQL Server. Подробнее Transact SQL обсуждается в главе 2.

XML

XML (Extensible Markup Language) - это стандарт форматирования данных, принятый в Интернете. Он представляет набор тэгов, которые включают в документ, чтобы определить его структуру. Хотя большинство операторов SQL возвращают результаты в виде реляционного набора данных (в табличном виде), SQL Server 2000 поддерживает оператор FOR XML, который задает возврат результатов в виде документа XML. SQL Server 2000 также поддерживает запросы XPath из приложений для Интернета и интрасетей. В базы данных SQL Server можно добавлять информацию из документов XML, а оператор OPENXML позволяет выводить данные из документа в виде реляционного результирующего набора. Более подробно XML обсуждается в главе 7.

Возможности SQL Server 2000

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

Легкость установки, развертывания и эксплуатации

В состав SQL Server 2000 входит множество инструментов и функций, упрощающих процесс установки, развертывания, управления и использования баз данных. SQL Server 2000 предоставляет администраторам баз данных полный набор инструментов, необходимых для тонкой настройки SQL Server 2000 в составе промышленных онлайновых систем. SQL Server 2000 также эффективно работает в небольших однопользовательских системах, при этом издержки на администрирование минимальны.
Установка или обновление SQL Server 2000 происходит под управлением приложения с графическим интерфейсом (GUI-приложения), которое направляет действия пользователя при вводе сведений, необходимых программе установки. Программа установки автоматически определяет наличие ранней версии SQL Server. После завершения установки SQL Server 2000 она спрашивает пользователя, не желает ли он запустить мастер обновления SQL Server 2000 (SQL Server 2000 Upgrade wizard), под руководством которого будет быстро выполнен процесс обновления. Таким образом, весь процесс установки или обновления завершается быстро, причем пользователю приходится вводить минимум информации.
SQL Server 2000 автоматически и динамически меняет свою конфигурацию в процессе работы. По мере роста числа пользователей, подключенных к SQL Server 2000, он может динамически выделять необходимые ресурсы, например память. При снижении загруженности SQL Server 2000 освобождает ресурсы и возвращает их системе. Если на сервере одновременно запускаются другие приложения, SQL Server 2000 обнаружит выделение для них дополнительной виртуальной памяти и уменьшит объем используемой им виртуальной памяти, чтобы снизить издержки на подкачку страниц. SQL Server 2000 также способен автоматически увеличивать или уменьшать размер базы данных по мере добавления или удаления информации.
SQL Server 2000 предлагает администраторам баз данных такие инструменты управления системами, как Enterprise Manager и SQL Profiler. Подробнее инструменты администрирования обсуждаются в занятии 2.

Масштабируемость

Механизм баз данных SQL Server 2000 представляет собой надежный сервер, способный управлять базами данных терабайтного объема, к которым одновременно обращаются тысячи пользователей. В то же время при работе с параметрами по умолчанию SQL Server 2000 поддерживает такие функции, как динамическая самонастройка, что позволяет не обременять пользователей решением административных задач. Именно эта возможность делает его чрезвычайно привлекательным для применения на лэптопах и в настольных системах.
Некоторые функции SQL Server 2000 увеличивают масштабируемость системы. Например, SQL Server 2000 динамически регулирует степень дробления блокировок для каждой таблицы, на которую ссылается запрос, в него также входит оптимизированная поддержка высокоскоростных операций в средах VLDB (Very Large Database). Кроме того, SQL Server 2000 способен планировать параллельное исполнение, при котором обработка оператора SQL разделяется на несколько частей. Каждая часть может быть выполнена на отдельном процессоре, в этом случае формирование полного результирующего набора осуществляется быстрее, чем в том случае, когда отдельные части операторов выполняются последовательно.
Многие функции, обеспечивающие масштабируемость SQL Server 2000, подробно обсуждаются далее по ходу изложения материала учебного курса.

Хранилища данных

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

    Data Warehousing Framework. Набор компонентов и интерфейсов прикладного программирования (API), реализующих функции хранилищ данных SQL Server 2000.

    Data Transformation Services (DTS). Набор служб для создания хранилищ данных и киосков данных.

    Meta Data Services. Набор интерфейсов ActiveX и информационных моделей, определяющих схему базы данных и преобразований данных, которые реализует Data Warehousing Framework. Схема, или метаданные, - это метод определения и организации данных.

    Analysis Services. Набор служб, обеспечивающих возможности OLAP-обработки данных из гетерогенных источников OLE DB.

    English Query. Продукт для разработки приложений, который дает пользователям возможность вместо использования компьютерного языка запросов (например, SQL) задавать вопросы по-английски.

Системная интеграция

SQL Server 2000 работает с другими программными продуктами, образуя стабильное и безопасное хранилище информации для Интернета и интрасетей:

    SQL Server 2000 работает с механизмами безопасности и шифрования Windows 2000 Server и Windows NT Server, реализуя безопасное хранилище информации;

    SQL Server 2000 является высокопроизводительной службой хранения данных для Web-приложений, работающих по управлением Microsoft Internet Information Services;

    SQL Server 2000 можно использовать вместе с Site Server для обслуживания больших и сложных Web-сайтов электронной коммерции;

    поддержка TCP/IP Sockets позволяет интегрировать SQL Server 2000 с Microsoft Proxy Server для реализации безопасной связи через Интернет и в интрасетях.

Производительность SQL Server 2000 можно довести до уровня, необходимого для работы огромных Интернет-узлов. Кроме того, в механизме баз данных SQL Server 2000 есть встроенная поддержка XML, а мастер Web Assistant помогает генерировать страницы HTML (Hypertext Markup Language) на основе данных SQL Server 2000 и публиковать эти данные для доступа по протоколам HTTP (Hypertext Transport Protocol) и FTP (File Transfer Protocol).
SQL Server поддерживает аутентификацию Windows, что позволяет применять в качестве учетных записей SQL Server 2000 пользовательские и доменные учетные записи Windows NT и Windows 2000.
Аутентификацию пользователей при подключении к сети осуществляет Windows 2000. При соединении с SQL Server, клиентское ПО запрашивает доверенное соединение, которое может быть предоставлено, только если пользователи прошли аутентификацию Windows NT или Windows 2000. Таким образом, SQL Server сам не выполняет проверку пользователей, а пользователям не требуются отдельные имена и пароли для подключения к каждой системе SQL Server SQL Server 2000 может посылать и получать электронную почту и пейджинговые сообщения от Microsoft Exchange или других почтовых серверов, совместимых с MAPI (Message Application Programming Interface). Эта функция обеспечивает отсылку почты с помощью пакетов, хранимых процедур и триггеров SQL Server 2000. События и уведомления SQL Server 2000 можно настроить так, чтобы в случае возникновения серьезных проблем или даже при риске их возникновения администратор сервера автоматически получал уведомления по электронной почте или на пейджер.

Редакции SQL Server 2000

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

    Enterprise Edition. Эта редакция - полный вариант SQL Server, наиболее часто предлагаемый организациям. Enterprise Edition отличается развитыми возможностями масштабируемости и надежности, необходимыми для решения важных задач интерактивного ведения бизнеса и Интернет-приложений, в том числе распределенными секционированными представлениями, портированием журнала и улучшенными возможностями кластеризации. Эта редакция также в полном объеме использует преимущества наиболее совершенного аппаратного обеспечения, поддерживая до 32 процессоров и 64 Гб ОЗУ. Кроме того, SQL Server 2000 Enterprise Edition включает дополнительные функции анализа.

    Standard Edition. Этот вариант могут позволить себе средние и небольшие организации, которым не требуются сложные возможности масштабируемости и доступности, а также полный набор функций анализа, которые имеются в SQL Server 2000 Enterprise Edition. Standard Edition применяют в симметричных многопроцессорных системах, в которых установлено до 4 процессоров и до 2 Гб ОЗУ.

    Personal Edition. В эту редакцию входит полный набор инструментов управления и большая часть функциональности Standard Edition, но она оптимизирована для персонального использования. Personal Edition работает не только под управлением серверных ОС корпорации Microsoft, но и их персональных редакций, к числу которых относятся Windows 2000 Professional, Windows NT Workstation 4.0 и Windows 98. Поддерживаются двухпроцессорные системы. Хотя эта редакция поддерживает базы данных любого объема, ее производительность оптимизирована для одиночных пользователей и небольших рабочих групп: она снижается при загруженности, возникающей при одновременной работе более чем пяти пользователей.

    Developer Edition. Этот вариант SQL Server позволяет разработчикам создавать приложения любых типов, функционирующие совместно с SQL Server. В эту редакцию входит вся функциональность Enterprise Edition, но со специальным лицензионным соглашением конечного пользователя (EULA), которое допускает разработку и тестирование, но запрещает развертывание в эксплуатационных целях.

    Desktop Engine (MSDE). В эту редакцию входят базовые функции механизма баз данных SQL Server 2000, однако не входят пользовательский интерфейс, управляющие инструменты, функции анализа, поддержка репликации сведением, лицензии на доступ клиентов, библиотеки разработчика и электронная документация. Здесь также ограничен размер базы данных и уровень загруженности при работе с пользователями. Редакция Desktop Engine требует меньше всего ресурсов по сравнению с остальными редакциями SQL Server 2000, поэтому она идеально подходит для реализации автономного хранилища данных.

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

Резюме

Microsoft SQL Server 2000 - это законченное решение для управления и анализа данных, позволяющее оперативно развертывать масштабируемые Web-приложения нового поколения. SQL Server представляет собой реляционную СУБД, которая с помощью языка Transact SQL пересылает запросы между компьютером клиента и компьютером SQL Server 2000. База данных напоминает обычный файл данных: она также используется для хранения информации. Однако, СУБД мощнее, чем простой файл данных, так как уровень организации данных в базе значительно выше. Реляционная база данных - это особый тип баз данных, использующий для организации данных математическую теорию множеств. В реляционной базе данных информация организована в таблицы. В SQL Server 2000 имеется несколько функций, упрощающих его установку, развертывание и использование; а также поддерживающих масштабируемость, организацию хранилищ данных и интеграцию с другим серверным ПО. Доступны различные редакции SQL Server 2000, способные удовлетворить самые разные требования заказчиков (организаций и отдельных лиц) к производительности, исполняющей среде и стоимости.

Занятие 2. Компоненты SQL Server 2000

Как говорилось в занятии 1, SQL Server 2000 - это реляционная СУБД. По своей природе такая СУБД состоит из нескольких компонентов, а именно: из механизма баз данных, различных приложений, а также инструментов и набора баз данных - стандартных, входящих в комплект поставки системы и пользовательских, которые могут быть добавлены к реляционной СУБД после ее установки. В этом занятии дан обзор главных компонентов, составляющих реляционную СУБД SQL Server 2000.

Изучив материал этого занятия, вы сможете:

    идентифицировать и описать различные компоненты SQL Server 2000.

Продолжительность занятия - около 25 минут.

Обзор компонентов SQL Server 2000

SQL Server 2000 состоит из ряда компонентов, таких, как механизм реляционных баз данных, Analysis Services и English Query. Все эти компоненты, каждый из которых играет определенную роль, работая совместно, формируют полнофункциональную реляционную СУБД (рис. 141).

Механизм реляционных баз данных SQL Server 2000 - это современное ядро с высокой степенью масштабируемости, предназначенное для хранения данных. Механизм баз данных сохраняет данные в таблицах. Каждая таблица представляет определенный класс объектов, в зависимости от интересов конкретной организации (например, сведения о транспортных средствах, работниках или клиентах). Таблица состоит из столбцов, каждый из которых представляет атрибут объекта (например, вес, имя или стоимость), который она моделирует, и строк. Каждая строка представляет один экземпляр объекта, моделируемого таблицей (например, автомобиль с номером ABC-123 или работник с идентификационным номером ID 123456). Приложение передает механизму баз данных оператор SQL, механизм возвращает результат в виде набора данных в табличной форме. Интернет-приложение передает механизму баз данных оператор SQL или запрос XPath, а тот возвращает результат в виде документа XML. Механизм реляционных баз данных обеспечивает поддержку стандартных интерфейсов доступа к данным, таких, как ADO (ActiveX Data Objects), OLE DB и ODBC (Open Database Connectivity).
Механизм реляционных баз данных обладает высокой масштабируемостью. SQL Server 2000 Enterprise Edition поддерживает группы серверов баз данных, формирующих базы данных терабайтного объема, к которым могут обращаться тысячи пользователей одновременно. Механизм баз данных также способен динамически настраиваться путем выделения дополнительных ресурсов по мере роста числа пользователей, подключенных к базе данных, и освобождения их после отключения пользователей. Другими словами, отдельные пользователи или небольшие рабочие группы, у которых нет администраторов баз данных, могут использовать более простые редакции SQL Server. С помощью административных утилит с графическим интерфейсом из комплекта поставки продукта легко администрировать даже крупные серверы баз данных под управлением Enterprise Edition, работающие в эксплуатационном режиме.

Механизм реляционных баз данных также обладает высокой степенью защиты. Аутентификацию при регистрации допустимо интегрировать с проверкой подлинности Windows, поэтому SQL Server не хранит никаких паролей и не пересылает их по сети (где их могут прочесть, используя анализаторы пакетов). На узлах разрешается задавать аудит всех пользователей, обращающихся к базе данных, соответствующий требованиям безопасности уровня С2, и применять протокол SSL (Secure Sockets Layer) для шифрования всех данных, передаваемых между приложением и базой данных. Более подробно об архитектуре механизма баз данных рассказано в занятии 3.

Репликация

Репликация SQL Server 2000 позволяет поддерживать несколько копий данных на различных компьютерах с целью повышения общей производительности системы, а также обеспечивает поддержку синхронизации всех копий. Например, какой-либо отдел размещает данные о продажах на собственном сервере и посредством репликации обновляет эти сведения на корпоративном компьютере. Или другой пример: несколько мобильных пользователей работают весь день, отключившись от сети, а в конце рабочего дня они с помощью репликации сведением выполняют слияние своих записей с главной базой данных.
Репликация - важная и мощная технология распределения данных и некоторых типов объектов баз данных (хранимых процедур, представлений и пользовательских функций) по всему предприятию. В репликации SQL Server используется принцип «публикации и подписки». Издатель (владелец) данных, подлежащих репликации, определяет статьи (аналогичные таблицам базы данных), которые надо сделать доступными для подписчиков (или для адресов, получающих копии оригинальной публикации).
Модель репликации сведением позволяет многим или даже всем подписчикам, а также издателю обновлять реплицируемые данные. Репликация сведением является идеальным решением для любого окружения, где подписчики часто отсоединены от сети (например, для удаленных продавцов). Подписчики получают возможность модифицировать или добавлять данные в дороге, а по возвращении в офис или при подключении к локальной сети через модем - выполнять слияние модифицированных данных с оригинальной копией (опубликованной издателем).

DTS

Многим организациям для более эффективного принятия решений требуется централизация данных. Однако данные можно хранить в самых разнообразных форматах и в нескольких различных местах. DTS (Data Transformation Services) в SQL Server позволяет создавать хранилища и киоски данных путем интерактивного или автоматического импорта и передачи данных из нескольких гетерогенных источников по расписанию.
DTS SQL Server 2000 существенно повышает эффективность процесса создания хранилищ данных для оперативной аналитической обработки (Online Analytical Processing, OLAP). Кроме того, он предоставляет средства для тонкой настройки обширных баз данных для оперативной обработки транзакций (Online Transaction Processing, OLTP), в результате чего можно увеличить число одновременно работающих пользователей, активно добавляющих и модифицирующих данные. Структура баз данных OLTP такова, что они регистрируют подробности каждой транзакции. Попытка выполнить сложный анализ для определения трендов продаж за несколько месяцев или лет потребует просмотра огромного числа записей, а большая загруженность обработкой информации при этом снижает производительность баз данных OLTP.
Хранилища и киоски данных создаются в системе OLTP на основе данных, извлеченных и преобразованных в форму, которая лучше подходит для OLAP-обработки. Периодически осуществляется сбор строк с подробными данными OLTP в промежуточную базу данных, где они обобщаются, а итоговые данные помещаются в хранилище или киоск. DTS поддерживает извлечение данных из одного источника и выполнение сложных преобразований с последующим сохранением итоговых преобразованных данных в другом источнике данных. Этот компонент в значительной степени упрощает процесс извлечения данных из нескольких систем OLTP и создания на основе извлеченных данных хранилища или киоска данных для OLAP.

Analysis Services

Analysis Services предоставляет инструменты для анализа данных, которые находятся в хранилищах и киосках данных. В хранилищах и киосках данных итоговая информация содержится в таблицах фактов. Таблица фактов - центральная таблица в схеме хранилища данных, в ней хранятся численные меры и ключи, связывающие факты с таблицами измерений. Как правило, базовая таблица фактов содержит сведения, описывающие некоторые события в бизнесе, например банковские транзакции или факты продажи продукции. Приложения работают с данными Analysis Services с помощью многомерных расширений ADO и OLE DB. Обработка запросов OLAP посредством многомерных кубов Analysis Services выполняется существенно быстрее, чем с использованием подробной информации из баз данных OLTP.
В систему Analysis Services входит сервер, управляющий многомерными кубами, предназначенными для анализа. Он обеспечивает клиенту быстрый доступ к данным куба. Чтобы быстро выдавать ответы на сложные аналитические запросы, Analysis Services организует данные из хранилища в кубические массивы с помощью предварительно вычисленных агрегированных данных. Analysis Services также облегчает создание моделей извлечения информации для данных как из многомерных, так и из реляционных источников. Можно применять модели извлечения информации к обоим типам данных. Посредством службы PivotTable - компонента доступа, совместимого с OLE DB, Microsoft Excel и приложения других производителей могут получать данные с сервера и представлять их пользователю или создавать локальные кубические массивы для автономного анализа.

English Query

SQL Server 2000 English Query помогает создавать приложения, способные автоматически настраиваться в соответствии со специальными вопросами, которые задают пользователи. Администратор English Query определяет для обработчика English Query все логические связи между таблицами и столбцами базы данных или между кубическими массивами в хранилище или киоске данных. Затем пользовательское приложение может вывести специальное окно, в котором пользователю достаточно набрать символьную строку с вопросом (записанным по-английски), касающимся данных в базе или хранилище. Приложение передает эту строку обработчику English Query, который анализирует ее с учетом связей, определенных между таблицами и кубами. После этого English Query возвращает приложению оператор SQL или запрос MDX (Multi-Dimensional Expression), при исполнении которого будет получен ответ на заданный пользователем вопрос. Посредством English Query разработчики могут преобразовывать реляционные базы данных в приложения English Query, которые позволяют конечным пользователям вместо формирования запроса с помощью оператора SQL задавать вопросы по-английски. Редактор моделей English Query находится в среде разработки Microsoft Visual Studio 6.0. При применении Visual Studio информация о базе данных задается таким образом, что English Query без труда обрабатывает вопросы относительно конкретных таблиц, полей и данных, введенные по-английски. В English Query входят мастера, автоматически создающие проект (.eqp-файл) или модель (.eqm-файл) для приложения. После проверки проект компилируют в приложение English Query (.eqd-файл), после чего можно осуществлять его развертывание. Мастер SQL Project ускоряет процесс создания проектов English Query путем автоматического создания объектов и связей для выбранных баз данных. Перед развертыванием приложения English Query следует выполнить его полное тестирование, чтобы убедиться, что все существующие объекты и связи возвращают точные результаты. Окно Model Test поддерживает встроенные отладочные средства, позволяющие вносить дальнейшие изменения и улучшения в проект EQ.

MetaData Services

Службы Meta Data Services из SQL Server обеспечивают хранение и управление метаданными информационных систем и приложений. Эта технология выполняет функции концентратора определений данных и компонентов, моделей разработки и развертывания, программных компонентов, предназначенных для повторного использования, и описаний хранилищ данных. Этот продукт состоит из следующих компонентов: ядра репозитория, инструментов, API, стандартных информационных моделей, браузера и SDK (Software DevelopmentKit).
Meta Data Services представляет собой набор служб для управления метаданными. Для работы с Microsoft Meta Data Services необходимо разбираться в характеристиках метаданных. Метаданные описывают структуру и значение данных, а также структуру и значение приложений и процессов. Следует помнить, что метаданные - это абстракция, что у них есть контекст и они способны выполнять различные функции в среде разработки.
При разработке ПО структуры приложений и баз данных, представляющих данные или хранящих их, можно абстрагировать в схемы классификации метаданных, имеющие смысл для разработчиков и программистов. Таблица или форма являются производными некоторого объекта, который, в свою очередь, может быть производным класса.
Для метаданных существует несколько уровней абстрагирования. Можно описать экземпляр данных, затем - это описание и так далее - последовательные описания описаний, пока не будет достигнут некий практический предел. Как правило, для описания метаданных, используемого в разработке ПО, имеется три уровня абстрагирования. Например, экземпляр данных «таблица займов» можно представить в виде таблицы базы данных, ту, в свою очередь - как объект «таблица», принадлежащий базе данных, и наконец, объект базы данных «таблица» - как абстрактный класс, формализующий фиксированный набор характеристик, которым должны соответствовать все производные объекты.
Отличие между данными и метаданными часто приравнивается к отличию между типом и экземпляром. Разработчик модели определяет тип (например, класс или связь), а разработчик ПО определяет экземпляр (например, класс «таблица» или связь «таблица - столбцы»).
Различие между экземпляром и типом зависит от контекста. То, что в одном сценарии является метаданными, в другом сценарии может стать данными. Например, в типичной реляционной СУБД системный каталог описывает таблицы и столбцы, содержащие данные.
Можно рассматривать данные системного каталога как метаданные, поскольку они представляют собой описания определений данных. Однако, используя соответствующий программный инструмент, удается манипулировать ими, как и любыми другими данными. Так, при просмотре связей между данными, сведений о версии таблицы или идентификации всех таблиц с финансовой информацией путем поиска столбцов с типом данных «валюта» типичные метаданные (представителем которых является системный каталог) играют роль данных, которыми можно манипулировать.

Books Online

SQL Server Books Online - это электронная документация, которая поставляется с SQL Server 2000. Чтобы найти нужную информацию в SQL Server Books Online, достаточно:

    просмотреть оглавление;

    выполнить поиск в указателе по ключевому слову;

    выполнить поиск по слову или целой фразе.

В состав SQL Server Books Online также входят справочные файлы, которые открываются при щелчке кнопки Help в диалоговом окне или при нажатии клавиши F1.
Документацию SQL Server Books Online нельзя открыть в полном объеме с компакт-диска SQL Server 2000 - прежде необходимо установить ее на локальный жесткий диск. Раздел вводного руководства по Microsoft SQL Server 2000, посвященный установке, не включает сведения о некоторых изменениях, произошедших после того, как руководство уже было отпечатано. Они внесены в SQL Server Books Online в справочном файле программы установки SQL Server.
Чтобы установить на жесткий диск только документацию SQL Server Books Online, надо выполнить выборочную установку компонентов SQL Server 2000 и выделить только компонент Books Online. Он представляет собой набор справочных файлов в формате HTML, для просмотра которых необходим Microsoft Internet Explorer версии 5.0 или более поздней. Его можно загрузить с узла http://www.microsoft.com/windows/ie/ .

Инструменты SQL Server 2000

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

    администрировать и конфигурировать SQL Server;

    определять информацию каталога для копии SQL Server;

    конструировать и тестировать запросы;

    копировать, импортировать, экспортировать и преобразовывать данные;

    выводить диагностическую информацию;

    запускать и останавливать SQL Server.

Инструменты командной строки

Утилиты командной строки автоматически устанавливаются во время установки SQL Server 2000 на компьютер под управлением Windows 2000, Windows NT, Windows 95 или Windows 98. В следующей таблице перечислены утилиты командной строки SQL Server и указаны папки, в которые они устанавливаются по умолчанию. Обратите внимание, что копия SQL Server 2000 по умолчанию устанавливается в подкаталог с именем MSSQL. Каждый именованный экземпляр SQL Server 2000 будет установлен в соответствующую папку с именем MSSQL$<имя_экземпляра>.

Утилиты

Папка

x:\Program Files\Microsoft SQL Server\MSSQL\Binn

x:\Program Files\Microsoft SQL Server\80\Tools\Binn

x:\Program Files\Microsoft SQL Server\80\Com

Во время установки путь к папке x:\Program Files\Microsoft SQL Server\80\Tools\Binn добавляется к системному пути. Утилиты, расположенные в этой папке, можно запускать из командной строки, находясь в любом месте дерева каталогов. Утилиту, расположенную вне этой папки, необходимо запускать либо из того каталога, в котором она установлена, либо добавить путь к этому каталогу к пути поиска ОС.
Три указанные ниже утилиты больше не устанавливаются программой установки SQL Server 2000:

При необходимости их можно запустить из папки \x86\Binn на установочном компакт-диске SQL Server 2000 или вручную скопировать на компьютер. Описание любой утилиты командной строки из SQL Server 2000 вы найдете в SQL Server Books Online.

Инструменты с графическим интерфейсом

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

Enterprise Manager

SQL Server Enterprise Manager - основной инструмент администрирования SQL Server 2000, поддерживающий пользовательский интерфейс, совместимый с MMC (Microsoft Management Console) и позволяющий решать ряд административных задач:

    определять группы серверов, работающих под управлением SQL Server;

    регистрировать отдельные серверы в группе;

    настраивать любые параметры SQL Server для всех зарегистрированных серверов;

    оздавать и администрировать любые базы данных, объекты, идентификаторы пользователей, учетные имена и права доступа к SQL Server на каждом из зарегистрированных серверов;

    определять и исполнять все административные задачи SQL Server на каждом зарегистрированном сервере;

    интерактивно конструировать и тестировать операторы SQL, пакеты и сценарии, вызывая SQL Query Analyzer;

    вызывать различные мастера SQL Server.

MMC поддерживает общий интерфейс для управления различными серверными приложениями в сети Microsoft Windows. В состав серверных приложений входит такой компонент, как оснастка, который предоставляет пользователям MMC интерфейс для управления серверным приложением. SQL Server Enterprise Manager является оснасткой MMC для Microsoft SQL Server 2000.

SQL Server Agent

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

    запуск заданий SQL Server, запланированных для исполнения в определенное время или по истечении определенного периода времени;

    определение особых условий, при наступлении которых необходимо выполнить заданное администратором действие, например предупредить кого-нибудь, отправив сообщение на пейджер или по электронной почте, или запустить задачу, соответствующую этим условиям;

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

SQL Profiler

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

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

    поиска и диагностики медленных запросов;

    записи последовательностей SQL-операторов, приводящих к возникновению проблем;

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

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

Утилита Client Network

Client Network используется для управления клиентскими библиотеками Net-Libraries и определения псевдонимов серверов. Кроме того, эта утилита позволяет устанавливать параметры по умолчанию, которые используются приложениями DB-Library.
Большинству пользователей утилита Client Network никогда не понадобится. Для подключения к SQL Server 2000 им достаточно указать сетевое имя сервера, на котором работает SQL Server, и (что не обязательно) имя экземпляра SQL Server.

Утилита Server Network

Утилита Server Network применяется для управления серверными библиотеками Net-Libraries, а также позволяет задавать:

    стеки сетевых протоколов, используемые экземпляром SQL Server 2000 для прослушивания клиентских запросов;

    последовательность, в которой серверные библиотеки Net-Libraries определяют, не устанавливает ли приложение соединение;

    новые сетевые адреса для прослушивания запросов экземпляром SQL Server 2000.

Большинству администраторов утилита Server Network также никогда не понадобится. Они могут задать серверные библиотеки Net-Libraries во время установки сервера.

Service Manager

SQL Server Service Manager предназначен для запуска, останова и приостановки серверных компонентов SQL Server 2000. Эти компоненты работают как службы в Microsoft Windows NT или Windows 2000, а в Windows 95 и Windows 98 - как отдельные исполняемые программы.

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

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

    Microsoft Search (только для Windows NT и Windows 2000). Реализует механизм полнотекстового поиска. Существует в единственном экземпляре, независимо от числа экземпляров SQL Server на компьютере.

    MSDTC (только для Windows NT и Windows 2000). Управляет распределенными транзакциями. Существует в единственном экземпляре, независимо от числа экземпляров SQL Server на компьютере.

    MSSQLServerOLAPService (только для Windows NT и Windows 2000). Реализует Analysis Services. Существует в единственном экземпляре, независимо от числа экземпляров SQL Server на компьютере.

Окно Service Manager может быть скрыто и представлено значком в системной области панели задач. Чтобы вывести меню со списком задач, которые поддерживает Service Manager, щелкните правой кнопкой значок на панели задач.

SQL Query Analyzer

SQL Query Analyzer - это инструмент с графическим интерфейсом, предназначенный для решения множества различных задач:

    создания запросов и сценариев SQL, а также исполнения их с базами данных SQL Server;

    создания часто используемых объектов баз данных в стандартных сценариях;

    копирования существующих объектов баз данных;

    исполнения хранимых процедур без задания их параметров;

    отладки хранимых процедур;

    отладки запросов, имеющих проблемы с производительностью;

    поиска объектов в базах данных, а также просмотра и работы с объектами;

    добавления, обновления и удаления строк в таблице;

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

    добавления часто используемых команд в меню Tools.

SQL Query Analyzer запускают непосредственно из меню Start или в SQL Server Enterprise Manager. Его также можно запустить, введя в командной строке команду isqlw.

Встроенные мастера SQL Server 2000

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

Резюме

SQL Server 2000 - это многокомпонентная реляционная СУБД. Механизм баз данных представляет собой современное ядро с высокой масштабируемостью, которое сохраняет данные в таблицах. Репликация SQL Server 2000 позволяет поддерживать несколько копий данных на различных компьютерах с целью повышения общей производительности системы при гарантированной согласованности всех копий. DTS (Data Transformation Services) предназначен для создания хранилищ и киосков данных в SQL Server путем регулярного планового импорта и преобразования (автоматического или интерактивного) данных из многочисленных гетерогенных источников. Analysis Services предоставляет возможности анализа данных в хранилищах и киосках. Используя English Query, удается создавать приложения, самонастраивающиеся в соответствии с вопросами, которые задают пользователи. Meta Data Services позволяют хранить и управлять метаданными информационных систем и приложений. Books Online - это встроенная электронная документация, поставляемая с SQL Server 2000. В состав SQL Server 2000 входит множество утилит как с графическим интерфейсом, так и утилит командной строки, которые позволяют пользователям, программистам и администраторам решать самые разнообразные задачи.

Занятие 3. Обзор архитектуры SQL Server 2000

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

Изучив материал этого занятия, вы сможете:

    дать определение различных компонентов архитектуры SQL Server 2000 и описать каждый из них.

Продолжительность занятия - около 30 минут.

Архитектура базы данных

В SQL Server 2000 информация хранится в базах данных. Она организована в доступные пользователю логические компоненты, а сама база данных физически реализована в виде двух или более файлов на диске. Обращаясь к базе данных, вы главным образом имеете дело с логическими компонентами (таблицами, представлениями, процедурами и учетными именами). Физическая реализация файлов во многом прозрачна. Как правило, лишь администратор базы данных работает с ее физической реализацией. На рис. 142 показаны различия между тем, как база данных представляется пользователю, и ее физической реализацией.
У каждого экземпляра SQL Server есть четыре системных базы данных (master, tempdb, msdb и model) и одна или несколько пользовательских. В одних организациях все данные содержатся в единственной пользовательской базе данных, а в других для каждой группы создана собственная база данных. Также у каждой базы данных может быть свое приложение, использующее ее. Например, в организации иногда отдельная база данных предназначена для учета продаж, другая - для платежных ведомостей, третья - для работы приложения управления делопроизводством и т. д. Некоторые приложения используют только одну базу данных, а другие могут обращаться к нескольким. На рис. 143 показаны системные и несколько пользовательских баз данных SQL Server.

Нет необходимости запускать несколько копий механизма баз данных SQL Server, чтобы предоставить доступ к базе данных на сервере нескольким пользователям. Единственный экземпляр SQL Server Standard Edition или Enterprise Edition способен обрабатывать запросы тысяч пользователей, одновременно работающих с разными базами данных. Каждый экземпляр SQL Server делает все свои базы данных доступными всем, кто подключается к нему (в зависимости от определенных для них прав доступа).
При подключении к экземпляру SQL Server соединение ассоциируется с определенной базой данных на сервере. Эта БД называется текущей. Обычно соединение устанавливается с базой данных по умолчанию, которую определяет системный администратор. Но, настроив параметры соединения из API баз данных, можно задать и другую БД. Можно переключаться с одной базы данных на другую с помощью оператора Transact SQL USE или функции API, которая меняет текущий контекст базы данных.
SQL Server 2000 позволяет отключить базу данных от одного экземпляра SQL Server, а затем подключить ее к другому экземпляру или вернуть обратно. При наличии файла с базой данных можно дать SQL Server указание подключать этот файл при установлении соединения под определенным именем.

Логические компоненты базы данных

К логическим компонентам БД относятся объекты, режимы сопоставления, идентификаторы пользователей, учетные имена, роли и группы.

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

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

Объект

Описание

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

Тип данных

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

Представление

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

Хранимая процедура

Откомпилированный набор операторов Transact-SQL, хранимый под определенным именем и обрабатываемый как единое целое. SQL Server предоставляет хранимые процедуры для управления SQL Server и вывода сведений о БД и пользователях. Они называются системными хранимыми процедурами

Фрагмент кода, действующий как единая логическая сущность. Функцию можно вызвать по имени, при этом разрешается задать ряд необязательных входных параметров. Она возвращает сведения о состоянии и необязательные выходные значения. Функции поддерживаются многими языками программирования, в том числе C, Visual Basic и Transact SQL. В Transact SQL имеется ряд встроенных функций, которые изменить невозможно, а также поддерживаются функции, которые создают и корректируют пользователи

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

Ограничение

Свойство, назначаемое столбцу таблицы, которое позволяет предотвратить занесение недопустимых данных в столбец. Например, ограничения UNIQUE или PRIMARY_KEY предотвращают занесение значений, дублирующих существующие. Ограничение CHECK предотвращает занесение значения, не соответствующего критерию поиска, а NOT NULL - пустого значения

Объект БД, связанный со столбцами или с пользовательскими типами данных, который задает значения данных, приемлемые в данном столбце. Лучше использовать ограничения CHECK, которые предоставляют ту же самую функциональность и соответствуют стандарту SQL-92

Умолчание

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

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

Режимы сопоставления

Режимы сопоставления определяют физическую структуру символьных строк в SQL Server 2000. Они задают битовые комбинации, представляющие каждый символ, а также правила сортировки и сравнения символов.
Различные объекты одной и той же базы данных SQL Server 2000 могут использовать разные режимы сопоставления. В SQL Server 2000 разрешается задавать отдельные режимы сопоставления вплоть до уровня столбцов, а каждому столбцу таблицы - присваивать различные режимы сопоставления. Более ранние версии SQL Server поддерживают только один режим сопоставления для каждого экземпляра SQL Server. У всех баз данных и их объектов, которые создаются в экземпляре SQL Server 7.0 или более ранней версии, режим сопоставления одинаков.
SQL Server 2000 поддерживает несколько режимов сопоставления, которые определяют правила использования символов для языка (например, македонского или польского) или для алфавита (например, Latin1_General - для латинского алфавита, который составляет основу письменности народов Западной Европы).
Каждый режим сопоставления SQL Server определяет три свойства:

    порядок сортировки данных Unicode-типов (nchar, nvarchar и ntext);

    порядок сортировки данных не-Unicode (char, varchar и text);

    кодовую страницу для хранения символьных данных в формате, отличном от Unicode.

ПРИМЕЧАНИЕ

Для типов данных Unicode (nchar, nvarchar и ntext) невозможно задать эквивалент кодовой страницы. Двухбайтовые комбинации, используемые для кодировки символов Unicode, определены стандартом Unicode и не могут быть изменены.

Режимы сопоставления SQL Server 2000 задаются на любом уровне. При установке для экземпляра SQL Server 2000 можно задать режимы сопоставления по умолчанию. Во время создания базы данных стоит задать для нее режимы сопоставления по умолчанию; если этого не сделать, то режимами сопоставления по умолчанию для базы данных станут те, что определены для экземпляра. При определении каждого символьного столбца, переменной или параметра разрешается задать режимы сопоставления по умолчанию. Если это не сделано, при создании объекта будут взяты режимы сопоставления по умолчанию для базы данных.
Идентификаторы пользователей, учетные имена, роли и группы В основе механизмов безопасности SQL Server 2000 лежат идентификаторы пользователей, учетные имена, роли и группы. Пользователи, которые подключаются к SQL Server, должны указать свой идентификатор. Затем они смогут просматривать только те таблицы и запускать лишь те хранимые процедуры и административные функции, для которых у них есть соответствующие права. Такая система безопасности основана на использовании идентификаторов пользователей. Все типы механизмов безопасности описаны в следующей таблице.

Механизм безопасности

Описание

Идентификаторы

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

Учетные имена

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

Роль напоминает группу пользователей домена Windows 2000. Она позволяет объединять пользователей в группу, а следовательно, применять права доступа к этим пользователям как к единому целому. Предоставление прав доступа, отказ в их предоставлении, отзыв прав доступа также осуществляется в отношении всех членов роли. Можно установить роль, описывающую задания, которые должны выполнять сотрудники вашей организации, занимающие определенную должность, и предоставить этой роли соответствующие права доступа. При подключении к этому заданию новый работник просто добавляются к членам роли. Когда работник перестает выполнять это задание, его можно удалить из роли. Если их несколько, то вам не придется многократно предоставлять, отказывать и отзывать права доступа для каждого из них. Права доступа применяются автоматически, как только пользователь становится членом роли. Роль похожа на группу в системе безопасности Windows

В SQL Server 2000 и SQL Server 7.0 группы отсутствуют. Однако предусмотрено управление безопасностью SQL Server на уровне целой группы Windows NT или Windows 2000

Физическая структура базы данных

В этом разделе описаны способы организации файлов и баз данных SQL Server 2000. Заметим, что для SQL Server 2000 и SQL Server 7 они отличаются от организации данных в SQL Server 6.5 и более ранних версий.

Страницы и экстенты

Основной единицей хранения данных в SQL Server является страница. В SQL Server 2000 размер страницы составляет 8 кб. Другими словами, в базах данных SQL Server 2000 содержится 128 страниц на 1 Мб. В начале каждой страницы расположен 96-байтный заголовок, который используется для хранения системной информации, например типа страницы, размера свободного места на странице, а также идентификатора объекта, владеющего страницей.
Страницы содержат строки данных (кроме данных типа text, ntext и image, которые хранятся в отдельных страницах). Данные размещаются на странице последовательно и начинаются сразу же после заголовка. В конце страницы расположена таблица смещений строк. Она содержит по одному элементу для каждой строки, размещенной на странице; в каждом элементе записано, как далеко первый байт строки расположен от начала страницы. Как показано на рис. 144, последовательность элементов таблицы смещений строк является обратной относительно последовательности строк страницы.
Экстенты представляют собой единицу выделения памяти для таблиц и индексов. Размер экстента составляет восемь последовательных страниц, или 64 кб. Другими словами, в базах данных SQL Server 2000 приходится 16 экстентов на 1 Мб.

Для повышения эффективности выделения памяти, SQL Server 2000 не выделяет для таблиц с небольшим объемом данных целые экстенты. В SQL Server 2000 имеется два типа экстентов:

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

    однородные экстенты, принадлежащие одному объекту; лишь объект-владелец может использовать все восемь страниц экстента;

    смешанные экстенты, у которых может быть до восьми объектов-владельцев.

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

Файлы и группы файлов баз данных

Базе данных в SQL Server 2000 соответствует набор файлов ОС. Данные и журнал транзакций никогда не помещаются в один и тот же файл, а любой отдельный файл используется только одной базой данных.
В базах данных SQL Server 2000 применяются файлы трех типов:

    Основной файл данных. База данных начинается с основного файла данных, который указывает на другие файлы базы данных. У любой базы данных есть только один основной файл данных. Для основных файлов данных рекомендуется использовать расширение.mdf.

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

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

Распределение и повторное использование памяти

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

    Глобальная карта распределения (Global Allocation Map, GAM). В страницах GAM регистрируются выделенные экстенты. Каждая GAM содержит сведения о более чем 64 000 экстентах (или примерно о 4 Гб данных). В GAM каждому экстенту соответствует один бит. Если он равен 1, экстент свободен, а если 0 - занят.

    Разделяемая глобальная карта распределения (Shared Global Alloca5 tion Map, SGAM). В страницах SGAM регистрируются экстенты, которые в данный момент используются как смешанные и в которых есть по крайней мере одна свободная страница. Каждая SGAM содержит информацию о 64 000 экстентах (или около 4 Гб данных). В SGAM каждому экстенту соответствует один бит. Если он равен 1, экстент используется как смешанный и у него есть свободные страницы. Если бит равен 0, экстент не используется как смешанный или, если он используется как смешанный экстент, все его страницы заняты.

Структура таблиц и индексов

SQL Server 2000 поддерживает индексы представлений. Первый индекс представления должен быть кластерным. Во время исполнения оператора CREATE INDEX для представления результирующий набор для этого представления сохраняется в базе данных, при этом используется структура, аналогичная структуре таблицы с кластерным индексом.
Строки с данными каждой таблицы или индексированного представления хранятся в наборе 8-килобайтных страниц данных. У каждой страницы данных есть 96-байтный заголовок, который содержит системную информацию, например идентификатор таблицы, которой принадлежит страница. Если используются страницы, связанные в список, то в заголовке страницы также находятся указатели на предыдущую и последующую страницы. В конце страницы располагается таблица смещений строк. Остаток страницы заполнен строками данных, как показано на рис. 145.


Для организации страниц данных в таблицах SQL Server 2000 применяется один из двух методов: кластерные таблицы или кучи.

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

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

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

Структура журнала транзакций

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

    восстановления отдельных транзакций;

    восстановления незавершенных транзакций во время запуска SQL Server;

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

Архитектура механизма реляционных баз данных

Серверные компоненты SQL Server 2000 получают операторы SQL от клиентов и обрабатывают их. На рис. 146 показаны основные компоненты, принимающие участие в обработке оператора SQL, полученного от клиента SQL Server.

Протокол TDS

Клиенты посылают операторы SQL, используя протокол прикладного уровня SQL Server под названием поток табличных данных (TDS, Tabular Data Stream). SQL Server 2000 работает со следующими версиями TDS:

    TDS 8.0 - используется клиентами под управлением клиентских компонентов SQL Server 2000. Клиенты TDS 8.0 поддерживают все функции SQL Server 2000;

    TDS 7.0 - используется клиентами под управлением клиентских компонентов SQL Server 7.0. Клиенты TDS 7.0 не поддерживают новые функции SQL Server 2000, что иногда вынуждает сервер соответствующим образом корректировать данные, отсылаемые обратно таким клиентам;

    TDS 4.2 - используется клиентами под управлением клиентских компонентов SQL Server версий 6.5, 6.0 и 4.21a. Клиенты TDS 4.2 не поддерживают новые функции, добавленные в SQL Server 2000 и 7.0. Это также вынуждает сервер иногда корректировать данные, отсылаемые обратно этим клиентам.

Серверные библиотеки Net-Library

Пакеты TDS создаются компонентом доступа Microsoft OLE DB для SQL Server, драйвером ODBC (Open Database Connectivity) SQL Server или динамически подключаемой библиотекой (dynamic link library, DLL) DB-Library. После этого пакеты TDS передаются клиентской библиотеке Net-Library SQL Server, которая инкапсулирует их в пакеты сетевого протокола. На сервере серверная библиотека Net-Library получает сетевые пакеты, извлекает из них пакеты TDS и передает их механизму реляционных баз данных. При возврате результатов клиентов этот процесс протекает в обратном направлении. Каждый сервер способен отслеживать несколько сетевых протоколов одновременно и поддерживать по одной библиотеке Net-Library для каждого отслеживаемого протокола.

Механизм реляционных баз данных

Сервер баз данных обрабатывает все запросы, которые передают ему серверные библиотеки Net-Library. Затем сервер компилирует все операторы SQL в планы исполнения, которые он использует для доступа к запрошенным данным и построения результирующего набора, возвращаемого клиенту. Механизм реляционных баз данных SQL Server 2000 состоит из двух основных частей: реляционного механизма и механизма хранения. Одно из самых важных архитектурных изменений, внесенных в SQL Server 7.0 (и перешедших к SQL Server 2000), заключается в строгом разделении таких компонентов сервера, как реляционный механизм и механизм хранения, и использовании ими API OLE DB для взаимодействия друг с другом, как показано на рис. 147.

Архитектура обработчика запросов

Операторы SQL - единственный вид команд, которые приложения посылают SQL Server 2000. Вся работа, выполняемая экземпляром SQL Server, является результатом обработки им SQL-операторов (получение, интерпретация и непосредственно исполнение). SQL Server 2000 исполняет операторы SQL с помощью одного из следующих процессов:

    обработки одиночного оператора SQL;

    пакетной обработки;

    исполнения хранимой процедуры или триггера;

    кэширования и повторного использования плана исполнения;

    параллельной обработки запросов.

Архитектура памяти

SQL Server 2000 динамически выделяет и освобождает память по мере необходимости. Как правило, администратору не приходится указывать, сколько памяти надо выделить для SQL Server, хотя такая возможность все равно предусмотрена и в некоторых средах она бывает необходима. При работе нескольких экземпляров SQL Server на одном компьютере каждый экземпляр может динамически выделять и освобождать память в соответствии со своей загруженностью. SQL Server 2000 Enterprise Edition поддерживает использование Windows 2000 AWE (Address Windowing Extensions), что позволяет экземплярам, работающим под управлением Windows 2000 Advanced Server, адресовать приблизительно 8 Гб памяти, а работающим под управлением Windows 2000 Data Center - приблизительно 64 Гб. Однако каждый экземпляр, использующий эту дополнительную память, должен статически выделять необходимую память.

Архитектура ввода:вывода

Главным назначением базы данных является хранение и поиск данных, поэтому выполнение многочисленных дисковых операций чтения/записи является одним из неотъемлемых атрибутов механизма баз данных. Дисковые операции ввода-вывода потребляют большой объем ресурсов, а их выполнение занимает относительного много времени. Значительная часть логики ПО реляционных СУБД служит для повышения эффективности операций ввода-вывода.
SQL Server 2000 выделяет значительную часть своей виртуальной памяти под кэш-буфер и использует этот кэш для уменьшения числа операций физического ввода-вывода. У каждого экземпляра SQL Server 2000 есть собственный кэш-буфер. Данные считываются из дисковых файлов базы данных в кэш-буфер. Несколько логических операций чтения можно выполнить и без многократного физического считывания данных. Данные остаются в кэше, пока в течение определенного времени на них нет ссылок или не понадобится свободная память буфера для считывания следующей порции данных. Они записываются на диск только после модификации. Данные могут быть многократно модифицированы в результате логических операций записи, прежде чем в результате физической операции записи они, обновленные, будут записаны на диск.
Ввод-вывод, осуществляемый экземпляром SQL Server, подразделяется на логический и физический. Логическое чтение происходит каждый раз, когда механизм баз данных запрашивает страницу из кэш-буфера. Если в настоящий момент страница отсутствует в кэш-буфере, выполняется физическое чтение, чтобы прочитать страницу в кэш-буфер. Если страница в данный момент находится в кэше, физическая операция чтения не выполняется - кэш-буфер использует ту страницу, которая уже хранится в памяти. При модификации данных страницы, которая находится в памяти, происходит логическая операция записи. При записи страницы на диск выполняется физическая операция записи. Страница может оставаться в памяти достаточно долго; так, перед физической записью ее на диск иногда выполняется несколько логических операций записи.

Архитектура полнотекстовых запросов

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

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

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

Организация транзакций

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

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

    Приложение объявляет о начале транзакции. Этот процесс может быть инициирован явно с помощью оператора BEGIN TRANSACTION. В качестве альтернативы приложение может установить параметры для работы в неявном режиме транзакций. Первый же оператор Transact SQL, исполняемый после завершения предыдущей транзакции, автоматически запускает новую транзакцию. В начале транзакции в журнал не заносится никаких записей; первая запись в журнале появляется при модификации данных.

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

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

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

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

Принципы администрирования

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

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

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

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

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

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

Язык определения данных, язык манипулирования данными и хранимые процедуры

Любое приложение посылает все команды SQL Server 2000 на языке Transact SQL. Transact SQL содержит операторы, которые поддерживают любые виды административной работы, выполняемой в SQL Server. Эти операторы можно разбить на две категории.

    Язык определения данных/язык манипулирования данными. Язык определения данных (Data Definition Language, DDL) используется для определения всех объектов баз данных SQL и управления этими объектами. Язык манипулирования данными (Data Manipulation Language, DML) применяется для выборки, добавления, обновления и удаления данных в объектах, определенных с помощью DDL. DDL языка Transact SQL, который используется для управления объектами, например базами данных, таблицами и представлениями, основан на операторах SQL-92 DDL (с расширениями). Для каждого класса объекта обычно имеются операторы CREATE, ALTER и DROP, например CREATE TABLE, ALTER TABLE и DROP TABLE. Права доступа контролируются операторами SQL-92 GRANT и REVOKE, а также оператором Transact SQL DENY.

    Системные хранимые процедуры. Административные задачи, решение которых выходит за рамки возможностей SQL-92 DDL и DML, как правило, выполняются с помощью системных хранимых процедур. Имена этих процедур начинаются с sp_ или xp_, они устанавливаются во время установки SQL Server.

Инфраструктура распределенного управления SQL

Инфраструктура распределенного управления SQL (SQL Distributed Management Framework, SQL-DMF) интегрирована и состоит из объектов, служб и компонентов, используемых для управления SQL Server 2000. SQL-DMF - гибкая и масштабируемая модель, способная адаптироваться к требованиям организации. Этот инструмент снижает необходимость присутствия пользователя при выполнении некоторых задач, например при создании резервных копий базы данных и рассылки оповещений, поддерживая сервисы, взаимодействующие непосредственно с SQL Server 2000.
Ключевые компоненты SQL-DMF поддерживают профилактическое управление экземплярами SQL Server в сети, позволяя определять следующую информацию:

    все объекты SQL Server и права доступа к ним;

    повторяемые административные действия, которые необходимо выполнять через заданные промежутки времени;

    корректирующие действия, которые следует выполнять при возникновении определенных условий.

Основные компоненты SQL-DMF показаны на рис. 148.

Графические инструменты

В SQL Server 2000 входит много графических утилит, которые помогают пользователям, программистам и администраторами решать следующие задачи:

    администрировать и настраивать SQL Server;

    определять информацию каталога для экземпляра SQL Server;

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

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

Автоматизированное администрирование

SQL Server 2000 поддерживает ряд функций, которые позволяют администраторам программировать сервер так, чтобы он сам себя администрировал при выполнении многих повторяемых действий или в исключительных ситуациях. Такая возможность позволяет администраторам уделять больше времени другим задачам, например: разработке баз данных и создании совместно с программистами эффективных методик программирования доступа к базам данных. Любой производитель приложений может выбрать SQL Server в качестве компонента, отвечающего за хранение данных, и свести, таким образом, к минимуму потребность в администрировании у своих потребителей путем автоматизации административных задач.
Возможности автоматизации не ограничены такими задачами администрирования баз данных, как планирование резервирования. Они также позволяют автоматизировать деловые операции, которые поддерживает база данных. Можно запланировать запуск приложений в заданные моменты или через определенные промежутки времени. Некоторые условия, возникшие в системе, способны инициировать запуск этих приложений в тех случаях, когда те должны быть исполнены раньше заданного времени.
К средствам поддержки автоматизации административных задач относятся SQL Server Agent, задания, события и оповещения, операторы и триггеры.

Резервное копирование и восстановление

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

Импорт/экспорт данных

В SQL Server 2000 входит несколько компонентов, поддерживающих импорт и экспорт данных: DTS, репликация, массированное копирование и распределенные запросы.

DTS

DTS (Data Transformation Services) позволяет импортировать и экспортировать данные между гетерогенными источниками OLE DB и ODBC. В пакете DTS задаются исходный и целевой источники данных OLE DB. После этого пакет можно исполнять как по требованию, так и по расписанию через определенные промежутки времени. Один пакет DTS способен обслуживать несколько таблиц. Пакеты DTS не ограничены прямой передачей данных от одной таблицы к другой, поскольку в качестве источника данных пакет может использовать запрос. Такая функциональность позволяет пакетам трансформировать данные, например, исполняя запрос, который вместо необработанных данных возвращает агрегированную итоговую информацию.

Репликация

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

Массированное копирование

Функция массированного копирования SQL Server повышает эффективность передачи больших объемов данных. За один раз функция массированного копирования передает данные целой таблицы.

Распределенные запросы

Для ссылки на данные из источника OLE DB операторы Transact SQL используют распределенные запросы. Источники данных OLE DB могут быть как другим экземпляром SQL Server, так и гетерогенными источниками, например базой данных Microsoft Access или Oracle.

Проверка целостности данных

Для проверки целостности базы данных Transact SQL использует набор операторов DBCC. Операторы DBCC в SQL Server 2000 и SQL Server 7.0 содержат ряд улучшений по сравнению с операторами DBCC, которые использовались в SQL Server 6.5.

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

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

    В SQL Server 2000 введен новый параметр PHYSICAL_ONLY, который позволяет ускорить работу операторов DBCC, заставляя их проверять лишь те типы ошибок, которые, по всей вероятности, сгенерированы в результате аппаратных сбоев. Следует запускать проверку DBCC с параметром PHYSICAL_ONLY, если есть подозрение на наличие аппаратной ошибки на сервере баз данных.

    Операторы DBCC сами по себе стали работать значительно быстрее. Проверка сложной базы данных выполняется, как правило, в 8-10 раз быстрее, а отдельных объектов - более чем в 300 раз быстрее. В SQL Server 6.5 DBCC CHECKDB обрабатывал таблицы последовательно. Для каждой таблицы сначала выполнялась проверка структуры данных, а затем проверка каждого индекса по отдельности. В результате этой процедуры операции чтения совершались довольно хаотично. В SQL Server 2000 DBCC CHECKDB по мере последовательного сканирования базы данных выполняет параллельную проверку нескольких объектов. SQL Server 2000 также использует преимущества многопроцессорности при параллельном исполнении операторов DBCC.

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

    Операторы DBCC из SQL Server 2000 способны сами исправлять замеченные ими небольшие ошибки. Также они могут исправлять некоторые ошибки в структуре двоичного дерева индексов или ошибок в некоторых распределяемых структурах.

Принципы репликации

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

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

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

    Дистрибьютор - это сервер, выполняющий различные задачи по перемещению статей от издателей к подписчикам. Реальные задачи зависят от типа выполняемой репликации.

SQL Server 2000 также поддерживает репликацию между гетерогенными источниками данных. Источники данных OLE DB или ODBC могут подписываться на публикации SQL Server. Последний также способен получать данные, реплицируемые некоторыми другими источниками данных, в том числе Microsoft Exchange, Microsoft Access,Oracle и DB2.

Хранилища данных и оперативная аналитическая обработка (OLAP)

SQL Server 2000 содержит компоненты, позволяющие создавать хранилища и киоски данных. Хранилища и киоски данных можно использовать в сложных промышленных системах искусственного интеллекта, обрабатывающих запросы, которые применяются для выявления трендов и анализа критических факторов. Эти системы называются системами оперативной аналитической обработки (Online Analytical Processing, OLAP). Данные в хранилищах и киосках данных организованы иначе, чем в традиционных базах данных, работающих с транзакциями.
ПО управления реляционными базами данных промышленного уровня, например SQL Server 2000, изначально разрабатывалось для централизованного хранения данных, генерируемых ежедневными транзакциями крупных компаний или правительственных организаций. За десятилетия эволюции эти СУБД превратились в высокоэффективные системы регистрации данных, необходимые для ежедневной работы предприятия. Такие системы получили название систем оперативной обработки транзакций (Online Transaction-Processing,OLTP).

OLTP:системы

Данные в OLTP-системах организованы главным образом для поддержки таких транзакций, как:

    регистрация заказа, введенного с кассового терминала или через Web-узел;

    размещение заказа на комплектующие изделия, когда их количество на складе становится меньше определенного уровня;

    отслеживание компонентов во время сборки конечного продукта на производстве;

    регистрация сведений о работниках;

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

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

OLAP-системы

Системы для обработки запросов, предназначенных для выявления трендов и критических факторов, называются OLAP-системами. Как правило, запросы OLAP извлекают большой объем данных. Например, начальнику правительственного отдела по выдаче водительских прав, может понадобиться отчет по маркам и моделям автомобилей, которые регистрировались ежегодно в течение последних 20 лет. При выполнении запроса такого типа в системе OLTP:

    значительное время потребуется на агрегацию (суммирование) всех подробных записей за последние 20 лет, так что отчет не будет подготовлен вовремя;

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

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

Архитектура разработки приложений

Для доступа к базе данных приложения используют два компонента: API или URL (Uniform Resource Locator - унифицированный указатель ресурса), а также язык баз данных.

API и URL

API определяет способ программирования приложения для подключения к базе данных и передаче ей команд. Объектная модель API обычно не зависит от языка и определяет набор объектов, свойств и интерфейсов. API С или Visual Basic определяет набор функций для приложений, написанных на С, С++ или Visual Basic.
URL представляет собой строку или поток, с помощью которого Интернет-приложение получает доступ к ресурсам Интернета или интрасети. Microsoft SQL Server 2000 поддерживает библиотеку ISAPI (Internet Server Application Programming Interface), которую приложения IIS (Microsoft Internet Information Services) используют для создания URL, указывающих на экземпляры SQL Server 2000.

API, поддерживаемые SQL Server

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

    ActiveX Data Objects (ADO);

    ODBC и объектные API, построенные на его основе - Remote Data Objects (RDO) и Data-Access Objects (DAO);

    Embedded SQL для C (ESQL);

    библиотека DB-Library для API C, разработанная специально для использования с ранними версиями SQL Server, предшествовавшими стандарту SQL-92.

Интернет-приложения также могут применять URL, указывающие на виртуальные корневые каталоги IIS, которые ссылаются на экземпляр SQL Server. Зачастую URL содержит XPath-запрос, оператор Transact-SQL или шаблон. В дополнение к использованию URL, Интернет-приложения способны работать с данными в форме документов XML с помощью ADO или OLE DB.

Язык баз данных

Синтаксис команд, которые посылаются базе данных, определяется языком баз данных. Эти команды пересылаются через API, что дает приложениям возможность обращаться к данным и модифицировать их. Они также позволяют приложениям создавать и модифицировать объекты базы данных. Исполнение всех команд зависит от прав доступа, предоставленных пользователю. SQL Server 2000 поддерживает два языка: Transact SQL и запросы XPath со схемами соответствия, применяемые в Интернет-приложениях, работающих в IIS.

Transact SQL

Transact SQL - это язык баз данных, поддерживаемый SQL Server 2000. Transact SQL соответствует стандарту SQL 92 начального уровня, а также поддерживает некоторые функции промежуточного и полного уровней. Transact SQL также содержит некоторые мощные расширения по сравнению со стандартом SQL 92.
Расширения определены в спецификации ODBC и поддерживаются OLE DB. Transact SQL поддерживает расширения ODBC в приложениях, использующих API ADO, OLE DB или ODBC, или API, расположенные поверх ODBC. Расширения ODBC SQL не поддерживаются в приложениях, использующих API DB-Library или Embedded SQL.

XPath

SQL Server 2000 поддерживает подмножество языка XPath, определенного World Wide Web Consortium (W3C). XPath - это язык навигации по графам, который используется для выбора узлов из документов XML. Прежде всего, с помощью схемы соответствия определяется представление данных из одной или нескольких таблиц или представлений SQL Server в виде XML, а затем с помощью запросов XPath можно получать данные из этой схемы соответствия.
Запросы XPath обычно используются в URL или API ADO. API OLE DB также поддерживает запросы XPath.

Резюме

SQL Server 2000 состоит из множества компонентов. Один из типов компонентов SQL Server - базы данных, в которых реально хранятся данные. База данных состоит из логических и физических компонентов. Другим компонентом SQL Server является механизм реляционных баз данных. Он обрабатывает запросы, управляет памятью, потоками, задачами и вводом-выводом, а также обрабатывает полнотекстовые запросы и транзакции. SQL Server 2000 поддерживает администрирование баз данных посредством DDL и DML, хранимых процедур, SQL-DMF, графических утилит, автоматического администрирования, процессов резервного копирования и восстановления, импорта и экспорта, проверки данных и репликации. Кроме того, SQL Server 2000 предоставляет компоненты для создания хранилищ и киосков данных. SQL Server поддерживает системы OLAP и OLTP. Приложения получают доступ к базе данных SQL Server с помощью двух компонентов: API или URL, а также языка баз данных.

Закрепление материала

Приведенные ниже вопросы помогут вам лучше усвоить основные темы данной главы. Если вы не сумеете ответить на вопрос, повторите материал соответствующего занятия и попытайтесь еще раз. Ответы для самопроверки вы найдете в приложении «Вопросы и ответы».

    Что такое SQL Server 2000?

    Какой язык часто используется для работы с информацией в базах данных?

    Что такое XML?

    В какой редакции реализованы все возможности SQL Server 2000?

    Каково назначение механизма реляционных баз данных SQL Server 2000?

    Какая технология SQL Server 2000 позволяет создавать хранилища и киоски данных в SQL Server путем импорта и передачи данных из многочисленных гетерогенных источников?

    Назовите как минимум четыре административные задачи, которые позволяет решить SQL Server Enterprise Manager.

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

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

    Перечислите основные компоненты, которые принимают участие в обработке оператора SQL, полученного от клиента SQL Server.

    Какие две роли играет Microsoft Search в поддержке SQL Server?

    Назовите фазы выполнения транзакции.

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

MS SQL Server

Данный программный продукт представляет собой систему управления базами данных (СУБД ) реляционного типа, разработанную корпорацией Microsoft . Для манипуляции данными используется специально разработанный язык Transact-SQL . Команды языка для выборки и модификации базы данных построены на основе структурированных запросов:

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

Обзор возможностей MS SQL Server

СУБД является частью длинной цепочки специализированного программного обеспечения, которое корпорация Microsoft создала для разработчиков. А это значит, что все звенья этой цепи (приложения ) глубоко интегрированы между собой.

То есть их инструментарий легко взаимодействует между собой, что во многом упрощает процесс разработки и написания программного кода. Примером такой взаимосвязи является среда программирования MS Visual Studio . В ее инсталляционный пакет уже входит SQL Server Express Edition .

Конечно, это не единственная популярная СУБД на мировом рынке. Но именно она является более приемлемой для компьютеров, работающих под управлением Windows, за счет своей направленности именно на эту операционную систему. И не только из-за этого.

Преимущества MS SQL Server :

  • Обладает высокой степенью производительности и отказоустойчивости;
  • Является многопользовательской СУБД и работает по принципу «клиент-сервер »;

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

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

Эволюция SQL Server

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

  • Microsoft SQL Server 1.0 – вышел еще в 1990 году. Уже тогда эксперты отмечали высокую скорость обработки данных, демонстрируемую даже при максимальной нагрузке в многопользовательском режиме работы;
  • SQL Server 6.0 – вышел в 1995 году. В этой версии впервые в мире была реализована поддержка курсоров и репликации данных;
  • SQL Server 2000 – в этой версии сервер получил полностью новый движок. Большая часть изменений коснулась лишь пользовательской стороны приложения;
  • SQL Server 2005 – увеличилась масштабируемость СУБД , во многом упростился процесс управления и администрирования. Был внедрен новый API для поддержки программной платформы .NET ;
  • Последующие выпуски – были направлены на развитие взаимодействия СУБД на уровне облачных технологий и средств бизнес-аналитики.

В базовый комплект системы входит несколько утилит для настройки SQL Server . К ним относятся:

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

  • SQL Server Error and Usage Reporting :

Утилита служит для настройки отправки отчетов об ошибках в службу поддержки Microsoft .

Используется для оптимизации работы сервера базы данных. То есть вы можете настроить функционирование SQL Server под свои нужды, включив или отключив определенные возможности и компоненты СУБД .

Набор утилит, входящих в Microsoft SQL Server , может отличаться в зависимости от версии и редакции программного пакета. Например, в версии 2008 года вы не найдете SQL Server Surface Area Configuration .

Запуск Microsoft SQL Server

Для примера будет использована версия сервера баз данных выпуска 2005 года. Запуск сервера можно произвести несколькими способами:

  • Через утилиту SQL Server Configuration Manager . В окне приложения слева выбираем «SQL Server 2005 Services », а справа — нужный нам экземпляр сервера БД . Отмечаем его и в подменю правой кнопки мыши выбираем «Start ».
  • С помощью среды SQL Server Management Studio Express . Она не входит в инсталляционный пакет редакции Express . Поэтому ее нужно скачивать отдельно с официального сайта Microsoft .

Для запуска сервера баз данных запускаем приложение. В диалоговом окне «Соединение с сервером » в поле «Имя сервера » выбираем нужный нам экземпляр. В поле «Проверка подлинности » оставляем значение «Проверка подлинности Windows ». И нажимаем на кнопку «Соединить »:

Основы администрирования SQL Server

Перед тем, как запустить MS SQL Server , нужно кратко ознакомиться с основными возможностями его настройки и администрирования. Начнем с более детального обзора нескольких утилит из состава СУБД :

  • SQL Server Surface Area Configuration – сюда следует обращаться, если нужно включить или отключить какую-либо возможность сервера баз данных. Внизу окна находятся два пункта: первый отвечает за сетевые параметры, а во втором можно активировать выключенную по умолчанию службу или функцию. Например, включить интеграцию с платформой .NET через запросы T-SQL :
  • SQL Server Management Studio – является основным средством администрирования. В этой среде реализована возможность настройки сервера и баз данных, как через интерфейс приложения, так и с помощью запросов на языке T-SQL .

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

Первая версия Microsoft Servers SQL была представлена компанией в далеком 1988 году. СУБД сразу позиционировалась как реляционная имеющая, по заявлению производителя, три достоинства:

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

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

Интеграция с Интернетом позволила использовать SQL Servers 2005 как основу для создания систем электронной коммерции с простым и защищенным доступом к данным через популярные браузеры с использованием встроенного Firewall Версия Enterprise поддерживала параллельные вычисления на неограниченном количестве процессоров.

На смену версии 2005 пришел Microsoft SQL Server 2008, который до сих пор является одним из самых популярных серверов баз данных, а немного позже появилась и следующая версия - SQL Servers 2012 года, с поддержкой совместимости с.NET Framework и другими передовыми технологиями обработки информации и среды разработки Visual Studio. Для доступа к был создан специальный модуль SQL Azure.

Transact-SQL

С 1992 года SQL является стандартом доступа к базам данных. Практически все языки программирования для доступа к БД используют именно его, даже если пользователю кажется, что он работает с информацией напрямую. Базовый синтаксис языка остается неизменным для обеспечения совместимости, но каждый производитель систем управления базами данных старался пополнить SQL дополнительными функциями. Компромисса найти не удалось, и после «войны стандартов» остались два лидера: PL/SQL компании Oracle и Transact-SQL в Microsoft Servers SQL.

T-SQL процедурно расширяет SQL для доступа к Microsoft Servers SQL. Но это не исключает разработку приложений на «стандартных» операторах.

Автоматизируйте бизнес с помощью SQL Server 2008 R2

Надежная работа бизнес-приложений чрезвычайно важна для современного бизнеса. Малейший простой базы данных может привести к огромным убыткам. Сервер баз данных Microsoft SQL Server 2008 R2 позволяет надежно и безопасно хранить информацию практически неограниченного объема, используя знакомые всем администраторам средства управления. Поддерживается вертикальное масштабирование до 256 процессоров.

Технология Hyper-V максимально эффективно использует мощность современных многоядерных систем. Поддержка на одном процессоре множества виртуальных систем снижает издержки и улучшает масштабируемость.

Анализируйте данные

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

Бесперебойная работа и безопасность данных

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

Неограниченный размер базы данных

Хранилище данных можно масштабировать быстро и безопасно. Пользователи могут использовать готовые шаблоны Fast Track Date Warehouse для поддержки дисковых массивов до 48 Тб. Базовая конфигурация поддерживает оборудование ведущих фирм, таких как HP, EMC и IBM. Функции сжатия информации по стандарту UCS 2 позволяют более экономно расходовать дисковое пространство.

Повышение эффективности работы разработчиков и администраторов

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

Инструменты для персонального бизнес-анализа

В компаниях никогда не было единого мнения относительно того, кто должен заниматься аналитикой - IT-отделы или непосредственно пользователи. Система создания персональных отчетов решает эту проблему посредством современных инструментов безопасного и эффективного построения, анализа и моделирования бизнес-процессов. Поддерживается прямой доступ к базам данных в Microsoft Office и SharePoint Server. Корпоративная информация может интегрироваться с материалами других типов, таких как карты, графика и видео.

Удобная среда для совместной работы

Предоставьте своим сотрудникам доступ к информации, совместной разработке и анализу данных при помощи приложения PowerPivot для электронной таблицы Excel. Программа позволяет производить анализ информации и моделирование бизнес-процессов и публиковать отчеты для общего доступа в Интернете или системе SharePoint.

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

Работайте с базами данных бесплатно

Компания предоставляет небольшим проектам и начинающим разработчикам специальную бесплатную версию Microsoft SQL Server Express. Сюда включены те же технологии баз данных, что и у «полных» версий SQL Server.

Поддерживаются среды разработки Visual Studio и Web Developer. Создавайте сложные таблицы и запросы, разрабатывайте интернет-приложения с поддержкой баз данных, получайте прямой доступ к информации из PHP.

Пользуйтесь всеми возможностями Transact-SQL и самыми передовыми технологиями доступа к данным ADO.NET и LINQ. Поддерживаются хранимые процедуры, триггеры и функции.

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

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

Разрабатываемые приложения могут работать при отсутствии подключения к серверу БД. Синхронизация производится автоматически с использованием фирменной технологии транзакционной репликации Sync Framework.

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

SQL Server 2008 R2 Express Edition идеально подходит для быстрого развертывания сайтов и интернет-магазинов, программ для персонального использования, малого бизнеса. Это отличный вариант для начала работы и обучения.

Управляйте базами данных, используя SQL Server Management Studio

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

Система объединяет в одном интерфейсе все возможности программ администрирования из ранних версий, таких как Query Analyzer и Enterprise Manager. Администраторы получают софт с большим набором графических объектов разработки и управления, а также расширенный язык создания сценариев работы с БД.

Редактор кода Microsoft Server Management Studio заслуживает отдельного внимания. Он позволяет разрабатывать скриптовые сценарии на Transact-SQL, программировать многомерные запросы доступа к данным и проводить их анализ с поддержкой сохранения результатов в XML. Создание запросов и сценариев возможно без подключения к сети или серверу, с последующим выполнением и синхронизацией. Имеется широкий выбор предустановленных шаблонов и система управления версиями.

Модуль «Обозреватель объектов» позволяет просматривать и управлять любыми встроенными объектами Microsoft Servers SQL на всех серверах и экземплярах баз данных. Легкий доступ к нужной информации чрезвычайно важен для быстрой разработки приложений и контроля версий.

Система построена на базе системы Visual Studio Isolated Shell, которая поддерживает расширяемые настройки и расширения сторонних разработчиков. В сети Интернет имеется множество сообществ, на которых можно найти всю необходимую информацию и примеры кода для разработки собственных инструментов управления и обработки данных.

По данным исследовательской компании Forrester Research, сервер баз данных Microsoft SQL Server 2012 вошел в тройку лидеров рынка корпоративных информационных хранилищ по итогам 2013 года. Эксперты отмечают, что быстрый рост доли рынка Microsoft обусловлен комплексным подходом корпорации к автоматизации бизнес-процессов. Microsoft SQL Server является современной платформой для управления и хранения данных любых типов, дополненной инструментами аналитики и разработки. Отдельно стоит отметить простоту интеграции с другими продуктами компании, такими как Office и SharePoint.

Microsoft SQL Server - это коммерческая система управления базами данных (СУБД), разработанная компанией Microsoft в сотрудничестве с Sybase. В качестве языка запросов она использует Transact-SQL и служит для работы с базами маленького и среднего размеров. Система активно использует "облачные" технологии, обеспечивает безопасность и быструю синхронизацию данных. Технология Windows Azure SQL Database Data Sync позволяет создавать двустороннее соединение между сервером и "облаком" с надежными алгоритмами шифрования. Ссылаясь на тесты Национального института стандартов и технологий США (NIST), Microsoft заявляет, что данная платформа содержит наименьшее количество уязвимостей в сравнении с аналогами.

По сути, используемый данной платформой Transact-SQL, представляет собой реализацию ANSI/ISO для языка SQL, содержащим несколько важных расширений. Microsoft SQL Server обеспечивает высокий "аптайм" и производительность при работе с базами. Также платформа содержит инструменты гибридной транзакционно-аналитической обработки в режиме реального времени. Они помогают реализовывать различные сценарии и осуществлять операционную аналитику. К сожалению, данная функция доступна не для всех типов лицензий, а таковых у SQL Server довольно много - Microsoft предлагает сразу несколько "редакций" своей платформы для разных целей и бюджетов.

Используя Microsoft SQL Server вы сможете снизить расходы на хранение "холодных" данных (тех что не требуют постоянного доступа). Технология Stretch обеспечивает возможность расширения больших таблиц SQL Server до Microsoft Azure.

Ключевые особенности и функции

  • меньшее количество уязвимостей в сравнении с другими системами управления реляционными базами данных (РСУБД);
  • возможность осуществления операционной аналитики в режиме реального времени;
  • обеспечение быстрого доступа к "холодным" данным;
  • возможность расширения больших таблиц SQL Server до Microsoft Azure с помощь технологии SQL Server Stretch;
  • использование языка запросов Transact-SQL, являющегося реализацией стандарта ANSI/ISO.

В 70-х гг. прошлого столетия фирма IBM разработала язык программирования, предназначенный для создания запросов (вопросов к базе данных). Он назывался SEQUEL (Structured English Query Language - английский структурированный язык создания запросов). В течение времени в SEQUEL добавлялись новые возможности. Вскоре он перестал быть языком создания только запросов. С его помощью стали создавать целые базы данных и управлять защитой ядра базы данных. Популярность нового языка настолько выросла, что пришлось сделать его достоянием широких масс пользователей и назвать SQL. Поскольку читаются обе аббревиатуры практически одинаково, то в разговоре их легко перепутать.

Современные процессоры баз данных используют разные версии SQL. SQL Server использует специальную разновидность SQL - Transact-SQL (T-SQL). Первоначально SQL Server (программа создания баз данных, которая понимает SQL) разрабатывалась компанией Microsoft совместно с фирмой Sybase Corporation для использования на платформах IBM OS/2 и создала свою собственную операционную систему - Windows NT Advanced Server. С этого момента было принято решение разрабатывать SQL Server только для сред Windows NT. В результате появилась SQL Server 4.2, которая вскоре была обновлена до версии 4.21. Вскоре между Microsoft и Sybase пробежала черная кошка; в результате Sybase взялась за создание собственного процессора баз данных для Windows NT. Им стала программа Sybase Adaptive Server Enterprise. Чтобы не отставать от конкурентов, Microsoft презентовала SQL Server 6.0, а вскоре и SQL Server 6.5. Обе программы запускались в Windows NT. А вот SQL Server 7.0 выполнялась не только Windows NT, но и Windows 95/98.

SQL Server 7.0 стала главной победой разработчиков процессора баз данных. Она превзошла возможности всех конкурирующих программ. Но в SQL Server 7.0 ядро процессора было сильно изменено. В SQL Server 7.0 полностью изменена не только архитектура ядра; в нее добавили оптимизатор запросов и улучшенную систему сохранения данных. В SQL Server 2000 добавили еще целый ряд дополнительных средств, повысили маштабируемость, надежность и доступность данных. Программа делает работу администратора легче и приятнее. SQL Server 2000 реализована как служба Windows NT Workstation, Windows NT Server и любой Windows 2000. В Windows ME она выполняется, как отдельное приложение в текущем сеансе пользователя. Все встроенные утилиты, например SQL Server Enterprise Manager, выполняются, как вспомогательные приложения типа клиент/сервер, позволяя управлять базой данных из любой точки сети.

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

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

SQL Server - это серверная часть приложения, к которой присоединяются различные клиенты, включая и утилиты, поставляемые вместе с SQL Server (например, SQL Query Analyzer). К преимуще- ствам SQL Server можно отнести:

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

Основные операции, связанные с управлением работой SQL-сервера, осуществляются с помощью ряда утилит, входящих в состав системы.

SQL Server Books Online - основной источник сведений о SQL Server для пользователя. В Books Online возможно найти ответы на любые вопросы о SQL Server. Books Online состоит из набора отдельных пособий, сохраненных в электронном виде. В случае необходимости вы можете заказать в Microsoft копию на бумаге. Само пособие организовано в виде документов HTML и просматривается в Microsoft Internet Explorer версии 5.0 и выше.

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

Левая панель диалогового окна SQL Server Books Online содержит несколько вкладок:

  • Contents (Содержание). Все сведения о SQL Server представлены в виде упорядоченных по темам разделов (как в обычном справочном пособии).
  • Index (Индексный указатель). Содержит алфавитный список ключевых слов Books Online. После ввода в верхнем поле искомого слова список автоматически прокрутится до того места, где это слово в нем встречается.
  • Search (Поиск). Эта вкладка используется чаще других. После ввода слова, названия, команды или опции в поле поиска и щелчка на кнопке List Topics (Просмотреть разделы) результат поиска отображается в виде списка.
  • Favorites (Избранное). Подобно программе Internet Explorer, Books Online позволяет сохранять список избранных разделов, к которым обращались чаще всего.

Утилита SQL Server Service Manager (менеджер служб SQL Server) отвечает за управление службами SQL Server в компьютере локальной сети, на котором установлена SQL Server. При запуске этой утилиты на экране появляется диалоговое окно. Поле Server (сервер) содержит название сервера, который используется. Поле Service (службы) указывает службу, состояние которой проверяется на данном сервере. Графически состояние службы представляется следующим образом: зеленая стрелка указывает на выполнение службы в текущий момент; остальные значки символизируют приостановку или полную остановку выполнения службы. Утилита Service Manager - это основная утилита, используемая для управления SQL Server.

Раскрывающийся список Service содержит все службы, которые управляются этой утилитой. Среди них SQL Server, SQL Server Agent, Distributed Transaction Coordinator и Microsoft Search. Раскрывающийся список Server служит для указания сервера, на котором запущены службы. Именованные экземпляры также представлены в этом списке. Оба поля диалогового окна достаточно интеллектуальны, чтобы воспринимать введенные с клавиатуры значения (например, имя_сервераимя_экземпляра). После введения названия сервера и указания в поле Service необходимой службы утилита Service Manager соединяется с удаленным сервером и принимает на себя управление службами.

Все функциональные возможности этого приложения присущи утилите SQL Server Enterprise Manager. Она запускается с панели задач Windows и поэтому более удобна в использовании.

Утилита Client Network, играющая главную роль при подключении компьютеров-клиентов SQL Server, проста в использовании. При запуске Client Network на экране появляется диалоговое окно, в котором указано, какие протоколы используются по умолчанию клиентским приложением для подключения к серверу SQL Server. По умолчанию SQL Server 2000 используется сетевая библиотека ТСР/ IP, независимо от операционной системы, которая управляет компьютером. В нижней части диалогового окна приведены еще две опции: Force Protocol Encryption (проводить шифрование) и Enable Shared Memory Protocol (подключиться к SQL Server локально). Вторая опция позволяет автоматически подключаться к SQL Server, установленном на локальном компьютере. При необходимости можно ее отключить. Первая опция необходима для установки зашифрованного соединения между клиентским приложением и сервером, на котором установлена SQL Server 2000.

Утилита Server Network во многом похожа на Client Network. Но в отличие от утилиты Client Configuration, которая управляет подключением клиентского программного обеспечения к SQL Server, Server Network управляет работой сетевых библиотек. Именно эта утилита определяет протоколы, с помощью которых серверы с программой SQL Server 2000 общаются с клиентскими приложениями.

SQL Server Query Analyzer - утилита, позволяющая выполнять команды языка запросов Transact-SQL. Эта утилита функционирует в среде Windows, что делает ее удобной в использования. При запуске система в диалоговом окне запрашивает имя SQL-сервера, имя пользователя и его пароль. Воспользовавшись введенной информацией, система осуществляет подключение утилиты к данному SQL- серверу. Основное окно утилиты разделено на две части. В верхней части пользователем осуществляется ввод команд, требующих выполнения. По завершении ввода следует воспользоваться кнопкой запуска SQL-запроса, после чего в нижней части данного окна отобразятся результаты выполнения запроса. Здесь же можно проверить корректность выполнения запроса без его запуска и сохранить для дальнейшего использования.

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

Утилита Profiler используется для мониторинга всех процессов, протекающих в SQL Server. Она также применяется для настройки среды на максимальную производительность; для этого анализируется план выполнения запросов и на основе полученных результатов принимается правильное решение. Profiler позволяет следить не только за деятельностью отдельных приложений, выполнением команд, но и за каждым пользователем SQL Server. В SQL Server 2000 позволено одновременно отслеживать около 100 событий.

Утилита OSQL добавляет в SQL Server интерфейс ODBC. Эта программа позволяет использовать для подключения к SQL Server команды ODBC. Обычно с ее помощью выполняются пакетные запросы, предназначенные для производственных задач.

ISQL - это программа командной строки, пришедшая из предыдущих версий SQL Server. Для подключения к SQL Server в ней используются средства DB-Library. Поскольку работа ISQL полностью зависит от DB-Library, новые команды в ней остаются недоступными. Среди них и поддержка Unicode.

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

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