Шпаргалка по 70-028 | Обзор SQL Server 7.0 Дальше »
Обзор
Дистрибутив
Архитектура
Администрирование
Вопросы для повторения

Обзор

Microsoft SQL Server(TM) 7.0 (далее SQLS7) это реляционная СУБД, работающая в клиент-серверной архитектуре. Такая архитектура позволяет разделять задачу между вычислительными ресурсами сервера и клиента. Как правило, клиенту достаются бизнес-правила, а серверу управление базами данных. СУБД выстраивает взаимосвязи данных, обеспечивает корректность добавления данных или их восстановление после сбоев и т.п. Взаимодействие клиента и сервера может осуществляться по сети, в широком понимании этого слова. Для обмена между клиентом и сервером используется фирменный SQL - TransactSQL (соответствует ANSI SQL-92).
SQLS7 работает на всех существующих платформах Windows, кроме DOS и Windows 3.x. Клиентские компоненты поддерживают и их, а кроме того работают на UNIX и Apple. Для обеспечения безопасности данных SQLS7 может использовать, как систему безопасности Windows NT (TM) (с которой он плотно интегрирован), так и  с помощью собственных, встроенных средств. Система безопасности охватывает сетевой трафик, доступ к серверу и его объектам, безопасность сетевых клиентов, как  на платформе Microsoft(R), так и других производителей. SQLS7 использует SMP архитектуру операционной системы Windows NT (TM) и может использовать любое количество из имеющихся у сервера процессоров.
SQLS7 работает как сервис (служба), поэтому его события фиксируются в журнале Windows NT (TM) (Application log, System log, Security log), возможно удалe:нное управление (запуск, остановка и т.д.), контроль работы с помощью Performance Monitor. Возможно построение кластера двух SQLS7 при использование Cluster Server из состава Windows NT Enterprise Edition(TM).
SQLS7 входит в состав Microsoft BackOffice(r). Windows NT (TM) и IIS позволяют ему обслуживать клиентов из Internet. Exchange через MAPI позволяют посылать сообщения об ошибках и выполнении задач по расписанию или исполнять запросы, полученные по E-mail. SNA сервер обеспечивает интеграцию с серверами IBM, а SMS сервер позволяет наладить управление и инвентаризацию железа и софта.  Кроме того, SMS хранит свои базы данных на SQLS7.
Основным сервисом SQLS7 является MSSQLServer. Именно ему адресуются все запросы и именно он управляет объектами SQLS7. Разделение ресурсов SQLS7 в многопользовательской среде и механизм блокировок, обработка транзакций, обеспечение целостности и согласованности данных, вот его основные функции. Обслуживание локальных и адресованных группе SQL серверов заданий, а также управление и информирование операторов SQLS7 обеспечивает сервис SQLServerAgent.
Задачи организации обслуживания запросов к данным, размещe:нным на разных SQL серверах, корректного исполнения распределe:нных транзакций и их отката, выполняет сервис MS DTC (Distributed Transaction Coordinator).
Возможность полнотекстового и лингвистического поиска, обслуживание индексов по текстовым данным обеспечивает сервис Microsoft Search.

Дистрибутив

Дистрибутив SQLS7 включает следующее ПО: SQL Server Enterprise Manager - консоль администратора (интегрирована с Microsoft Management Console из состава BackOffice);
SQL Server Client Configuration - настройка клиентских компонент работы с SQL сервером;
SQL Server Performance Monitor - контроль работы сервера в реальном времени;
SQL Server Profiler - аудитор работы сервера (трассировщик);
SQL Server Query Analyzer - создание запросов с графическим представлением планов их исполнения, SQL Server Service Manager - старт, стоп, пауза SQL сервера;
SQL Server wizard - конструктор, облегчающий пользователю работу с SQL сервером;
SQL Server Books Online - электронная документация на SQLS7;
Microsoft English Query - позволяет пользователю писать запросы к SQLS7 на обычном английском языке.
SQLS7 имеет развитый, контекстно-зависимый Help, а в SQL Server Query Analyzer по клавише Shift+F1 можно получить описание выделенного оператора.
Также, поставляются программы, запускаемые из командной строки, позволяющие создавать запросы и сценарии для SQLS7:
OSQL - посредством ODBC пересылает SQL запрос (текст запроса содержится в файле) серверу;
BCP - импорт, экспорт данных из/в текстовый файл.
Элементы аналитической обработки данных решает служба OLAP Microsoft SQL Server. Эта служба позволяет сохранять данные SQLS7 или ORACLE в удобном для аналитики формате.

Архитектура

Для обеспечения мульти-протокольной работы приложений с SQLS7 используется трёхуровневая модель обмена данными, как для клиента, так и для SQLS7.
Клиент->Programm->API->NetLib----->TDS----->NetLib->ODS->SQLS7->Сервер
Клиентскую программу не интересует какой сетевой протокол доставит её запросы к SQLS7. Она использует API для доступа к данным заложенной в неё бизнес-логики. API доступа к базам данных также заботит только отправка SQL запросов и выдача их результатов приложению. Клиент, для доступа к базам данных SQLS7, может использовать такие API, как OLE DB и ODBC (Object Linking and Embending Data Base, Open Database Connectivity) на системном уровне прикладных программ. OLE DB прекрасно работает как с SQLS7, так и с другими данными. Например, с его помощью организуется доступ к почтовому клиенту. ODBC больше ориентирован на реляционные СУБД. На уровне приложений, клиент может использовать более ограниченные функционально интерфейсы объектов данных, такие, как ADO и RDO (ActiveX Data Objects, Remote Data Objects). ADO - достаточно гибкий интерфейс, который инкапсулирует многое из OLE DB. RDO инкапсулирует некоторые многое из ODBC. Компонента  Net Lib, как правило, присутствует и на клиенте и на сервере и упаковывает поток табличных данных (TDS) в сетевой протокол. В зависимости от сетевой среды, могут использоваться следующие протоколы:  NetBEUTI, Named Pipes, TCP/IP, IPX/SPX, VINES/IP, ADSP. Естественно, что на сервере и клиенте должны быть задействованы одинаковые протоколы. Компонент ODS (Open Data Services) управляет запросами клиентов и следит, чтобы они не остались без ответа. Запросы принимаются и передаются посредством всех задействованных на сервере сетевых протоколов.

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

В поставку SQLS7 включены следующие средства администрирования: Enterprise Manager, OSQL и BCP. Кроме того, имеется возможность самим разрабатывать средства администрирования SQLS7 на основе COM технологии. Enterprise Manager и пользовательские программы, использующие COM-объекты, обращаются к SQLS7 через стандартный набор COM объектов SQL DMO (SQL Distributed Management Objects). Все средства администрирования, для управления сервером используют Trabsact-SQL. Многие задачи администрирования SQLS7 автоматизирует (или, по крайней мере, существенно упрощает) SQL Server Agent. Его основные задачи это исполнение заданий (по расписанию, по почте и т.п.), разного рода уведомления (почта, пейджер),  ведение журналов и оповещение, репликация и синхронизация данных.
SQLS7 допускает к своим объектам только зарегистрированных (имеющих у него учe:тную запись) пользователей. Используются два типа учe:тных записей: один для механизма идентификации SQLS7, а другой для механизма идентификации Windows NT. Если использовать механизм SQLS7, пользователь вводит Login, прописанный только в SQLS7. Если используется механизм Windows NT, то используется учe:тная запись или группа, определe:нная этой ОС (локальные или глобальные). Определить соответствие учe:тных записей NT и SQLS7, а также приписать их к конкретным БД должен системный администратор (SA). Проверка подлинности пользователя SQLS7 осуществляется или только с использованием механизма NT или возможен смешанный режим, допускающий применение обоих механизмов.
SQLS7 использует понятие РОЛЬ, для объединения пользователей в условные группы с одинаковыми правами. Роли могут быть предопределe:нными, а также могут создаваться пользователями, имеющими на это право. Например, права SA (в представлении SQLS6.5) состоят из нескольких предопределe:нных ролей и могут быть делегированы или распределены между несколькими пользователями. РОЛИ бывают двух типов: серверные (dbcreatir, diskadmin, processadmin, securityadmin, serveradmin, setupadmin - настройка репликаций, sysadmin); баз данных (public, db_owner, db_accessadmin, db_ddladmin - управление объектами БД, db_securityadmin, db_backupoperator, db_datareader, db_datawriter, db_denydatareader - не читать, db_denydatawriter - не писать). Каждый запрос к SQLS7 проверяется на соответствие прав пославшего запрос пользователя набору операций запроса, и, соответственно, исполняется или отвергается.
SQLS7 имеет системные БД (содержащие информацию, необходимую для управления системой) и пользовательские. При инсталляции создаются 4 (а если планируется репликация - 5) системные (master - содержит объекты SQLS7 и описания БД/пользовательских объектов - МЕТАДАННЫЕ, model - шаблон БД, tempdb - временные таблицы и данные, msdb - содержит информацию для SQL Server Agent, расписания, задачи и их журналы, distribution - для поддержки репликаций) и две пробные, пользовательские БД (pubs, northwind). БД содержит еe: объекты (наборы данных, таблиц, индексов и т.д.) которые могут быть следующих типов: TABLE, DATA TYPE (системные и пользовательские), CONSTRAINT (ограничения значений, целостность, первичный ключ PK, внешний ключ FK, проверка Check), DEFAULT - значение по умолчанию, RULE - правила на допустимые значения и типы, INDEX - кластерные и обычные индексы, VIEW - представление данных из таблиц, TRIGGER - хранимая процедура, выполняемая при изменении данных в таблице.
Набор системных таблиц метаданных любой базы данных составляет еe: КАТАЛОГ. СИСТЕМНЫЙ КАТАЛОГ хранится в БД MASTER и содержит метаданные обо всей системе и обо всех БД. Полностью квалифицированное имя объекта строится по правилу: ИМЯСЕРВЕРА.ИМЯБД.ВЛАДЕЛЕЦ.ОБЪЕКТ Указание заглавной части имени объекта может опускаться, в зависимости от текущего контекста. При позиционировании пользователя на контекст объекта, возможно указание только ОБЪЕКТ. При создании объекта с не полностью квалифицированным именем, используются текущие значения контекста. В качестве ВЛАДЕЛЕЦ пользователь может использовать доступную ему РОЛЬ. Для ролей db_owner и db_ddladmin там можно указывать DBO.
Имена системных таблиц начинаются на SYS. Для извлечения метаданных из системных таблиц используются системные хранимые процедуры (не рекомендуется использовать для приложений), системные функции и т.н. информационные схемы.
Название системных хранимых процедур начинается с SP_.
Представления информационной схемы введены стандартом ANSI SQL для обеспечения независимости от структуры системных таблиц.
Клиент - серверные приложения для работы с SQLS7 строятся в трe:х уровнях: презентационный (алгоритм представления данных), логический (бизнес-логика) и уровень данных. Презентационный уровень отдаe:тся на откуп клиентскому приложению, бизнес - логика может затрагивать как прикладную программу, так и SQLS7, уровень данных - прерогатива SQLS7.
Использование архитектурной схемы, когда представление данных и бизнес-логика сосредоточены в клиентской программе, а SQLS7 обслуживает только БД является наиболее типичной для небольших организаций и именуется, как "интеллектуальный клиент" (двухзвенка). При использовании "слабых" компьютеров, вычислительную нагрузку можно перенести на SQLS7. Такая схема называется "интеллектуальный сервер" (двухзвенка).
Для приложений уровня предприятия наиболее типично использование многоярусной архитектуры, когда в двухзвенку встраиваются серверы приложений (трe:хзвенка). На сегодняшний день актуальна и другая трe:хзвенная архитектура для обслуживания клиентов из интернет. Здесь бизнес-правила и представления обслуживаются веб-сервером, а клиенты пользуются обычным браузером.
Разработка базы данных для клиентского применения включает этапы проектирования БД (расчe:т производительности железа, масштабирование, идентификация объектов, моделирование и тестирование объектов и алгоритмов, определение типов объектов), создание БД, тестирование и настройка системы в целом, планирование развe:ртывания, последующее администрирование.
В целом, администрирование БД SQLS7 сводится к выполнению следующих задач: Инсталляция SQLS7, настройка прав доступа и аудита, конфигурирование SQLS7, создание БД, загрузка данных, резервное копирование и ведение журналов транзакций, мониторинг и регулировка параметров для обеспечения необходимой производительности системы.

Ответы на вопросы для повторения

ВОПРОС
Вы создали в сервере SQL Server новую учетную запись подключения для группы системы Windows NT. Вы хотите, чтобы члены этой группы могли работать с сервером SQL Server. Какие еще действия, связанные с управлением правами доступа, Вам необходимо предпринять?
ОТВЕТ
Необходимо добавить группу системы Windows NT к базе данных, с которой должны работать пользователи, и затем предоставить соответствующие права доступа к объектам этой базы.
ВОПРОС
Вы собираетесь разработать приложение для сервера SQL Server с использованием объектов ActiveX(c) Data Objects (ADO) или интерфейса OLE DB. Какие факторы следует учесть при выборе?
ОТВЕТ
Объекты ADO легче для программирования и обычно лучше подходит для разработки деловых приложений. Интерфейс OLE DB обеспечивает лучший контроль за поведением и производительностью приложения, но его сложнее использовать.
ВОПРОС
Вам необходимо просмотреть метаданные об объектах в базе данных сервера SQL Server. Какими средствами следует воспользоваться?
ОТВЕТ
Можно выполнить запросы к представлениям информационной схемы, вызвать системные хранимые процедуры или использовать системные функции. Вы также могли бы обратиться к системным таблицам напрямую, но это не рекомендуется, так как в будущих версиях сервера SQL Server они могут измениться.

Шпаргалка по 70-028 | Обзор SQL Server 7.0 Дальше »
Скачать электронную карту Ангарска бесплатно
Сайт управляется системой uCoz