Введение в BackOffice 2.5

История, обзор возможностей, взаимодействие SQL Server с другими серверными компонентами


История

SQL Server 1.0 впервые увидел свет в 1989 году. Это было совместное детище фирм Microsoft и Sybase, первой из которых необходим был свой сервер SQL для тогда ещё активно продвигаемой OS/2, а другой - возможность быстрого выхода на растущий рынок ПК, куда уже устремились конкуренты. С самой первой версии SQL Server получал самые лестные отклики обозревателей, в первую очередь за простоту администрирования и поддержку хранимых процедур на сервере. Совместное развитие проекта SQL Server происходило вплоть до 1992 года, когда была выпущена версия 4.2 для OS/2, соответствовавшая по характеристикам Sybase 4.9.1 для Unix. Дальнейшие разработки и перенос версии 4.2 на платформу Windows NT, связанный с полным пересмотром архитектуры ядра сервера, был выполнен в основном фирмой Microsoft. После 1993 года Sybase приняла решение о выпуске собственных версий сервера для Windows NT, хотя Microsoft и сохранила часть прав на исходные коды. В 1994 году вышла версия SQL Server 4.21 с поддержкой NT 3.5, улучшенными утилитами администрирования, поддержкой расширенных хранимых процедур и улучшенным быстродействием. В 1995 году увидел свет SQL Server 6.0, имеющий в своем составе массу усовершенствований и нововведений. И наконец в 1996 году на рынок вышел SQL Server 6.5 - последняя и наиболее мощная реализация сервера баз данных Microsoft.

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

Перечислим основные из возможностей SQL Server 6.5:

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

  • параллельное выполнение транзакций, индексации и загрузки данных, а также контроля целостности;

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

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

  • параллельное выполнение операций резервного копирования, с поддержкой до 32-х дисковых или ленточных устройств, автоматическое резервное копирование в режиме on-line без вмешательства оператора;




  • автоматические откат и/или повторное выполнение транзакций;

  • улучшенный оптимизатор запросов с учетом накопленной статистики исполнения;

  • блокировка на уровне записи при модификации данных, настраиваемая эскалация блокировок, автоматическое определение "мертвых захватов" и их разрешение;

  • поддержка монтируемых баз данных и режима "только чтение", что позволяет хранить базы данных на магнитооптических сменных носителях и CD-ROM;

  • вызов процедур удаленного сервера, возможность сохранения результатов исполнения удаленных и расширенных процедур в таблице (EXEC...INTO);

  • асинхронная репликация данных на основании журналов транзакций или мгновенных снимков таблиц (snapshots),

  • графические средства настройки репликации;

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

  • репликация данных типа Text и Image;

  • механизм двухфазной фиксации распределенных транзакций, инициализация транзакций из программ, использующих DB-Library, ODBC, Transact-SQL, интерфейсы OLE и XA транзакций;

  • операторы CUBE и ROLLUP для поддержки многомерных данных в системах аналитической обработки в режиме on-line (OLAP);

  • возможность резервного копирования и восстановления отдельных таблиц, восстановление данных "на момент времени";

  • переиндексация без предварительного удаления индекса;

  • зеркалирование устройств с автоматическим переключением при сбоях;

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

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

  • интеграция с MAPI-совместимыми системами электронной почты, в частности с Microsoft Exchange Server; набор хранимых процедур для обработки почтовых сообщений;

  • интеграция с Internet/Intranet; наличие Web Connector, хранимых процедур для получения результатов запросов в HTML-формате; SQL Web Assistant, позволяющий автоматизировать процесс выдачи отчетов в Web;

  • интегрированная административная консоль SQL Enterprise Manager, позволяющая из одной точки полностью управлять любым количеством SQL серверов;



  • сервис управления заданиями SQL Executive;

  • поддержка расширяемой базы событий и предупреждений; автоматическое уведомление операторов по электронной почте и/или передача сообщений на пейджер;

  • выполнение административных действий методом программирования на Visual Basic с использованием SQL-DMO;

  • утилита SQL Trace, позволяющая протоколировать процесс общения сервера с клиентом, записывая исполняемые SQL-предложения и статистику их исполнения;

  • поддержка SMNP-мониторинга SQL Server;

  • поддержка триггеров, хранимой процедуры автоматического старта (autoexec) и обработчиков событий пре- и после- регистрации;

  • двунаправленные курсоры; абсолютное и относительное позиционирование;

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

  • поддержка операторов определения данных (DDL) в транзакциях;

  • расширенные хранимые процедуры, в том числе, позволяющие использовать OLE Automation;

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

  • поддержка парадигмы однократной регистрации;

  • поддержка стандартов языка ANSI SQL-92 и FIPS 127-2;

  • поддержка кодовой страницы базы данных для Русского языка, возможность автоматической трансляции кодовых страниц для DOS, Windows, Windows NT;

  • родная поддержка сетевых протоколов TCP/IP, IPX/SPX, Named Pipes, VINES IP, AppleTalk и DEC Net.

    Предельные показатели

    В таблице 1 перечислены предельные величины ряда технических показателей SQL Server 6.5

    Таблица 1. Предельные показатели SQL Server 6.5.

    ПоказательПредельная величина
    Devices (логические устройства)256 логических устройств на SQL Server, предельный размер логического устройства 32 Гб
    Databases (базы данных)32,767 баз данных на сервер; минимальный размер базы 1 Мб, но не менее чем размер базы model, максимальный размер - 1 терабайт (Тб)
    Segments (сегменты)максимальное число сегментов в базе данных - 32
    Tables (таблицы)предельное число таблиц в базе 2,147,483,647; максимальная длина строки в таблице без учета text и image полей - 1962 байта; максимальный размер таблицы - 1 Тб
    Columns (столбцы)до 250 столбцов в таблице
    Indexes (индексы)1 кластерный индекс на таблицу; до 249 некластерных индексов на таблицу; составной индекс может включать до 16 столбцов
    Triggers (триггеры)максимум три триггера на таблицу, INSERT, UPDATE, DELETE; уровень рекурсии триггеров до 16
    Stored Procedures (хранимые процедуры)хранимая процедура может иметь до 255 параметров, уровень рекурсии до 16
    Events (соединения)предельное число соединений - 32,767
    Open databases (открытые базы)максимальное число открытых баз данных - 32,767
    Locks (блокировки)максимальное число блокировок - 2,147,483,647
    Open Objects (открытые объекты)максимальное число открытых объектов - 2,147,483,647
    <


    Поддерживаемые типы данных

    В перечислены типы данных, поддерживаемые SQL Server 6.5

    Интеграция с компонентами BackOffice

    SQL Server 6.5 является неотъемлемой частью компонента System Management Server и используется для хранения информации практически всей служебной информации и всех данных о компьютерах. С другой стороны SMS позволяет проводить автоматизированную установку SQL Server на любое количество компьютеров организации.

    Для Internet Information Server сервер SQL может выступать в качестве хранилища информации, доступ к которой производится из ISAPI-расширения IIS - Internet Data Connector, использующим механизм ODBC или из CGI-сценариев через интерфейсы OLE или DB-Library. Кроме того, используя Web Connector и хранимые процедуры преобразования данных в HTML-формат, SQL server может со своей стороны готовить для IIS HTML-страницы.

    Таблица 2. Типы данных, поддерживаемые SQL Server 6.5.

    ТипДиапазонПримечания
    binary1-255 символовфиксированный, символ представляется шестнадцатиричной цифрой, в описании присутствует 0x (0xFFAF)
    varbinary1-255 символовто же, что и binary, только переменной дины
    char1-255 символовфиксированный
    varchar1-255 символовтолько переменной дины
    datetimeс 1 Января 1753 года по 31 Декабря 9999 годадлина 8 байт;

    по умолчанию 1 Января 1900, 12:00:0000; точность до 3.33 миллисекунды
    smalldatetimeс 1 Января 1900 года

    по 31 Декабря 2079 года
    длина 4 байта; точность 1 минута
    decimal(p,s), numeric(p,s)от -1038 - 1 до 1038 - 1;
    p - число значящих цифр, от 1 до 38; s -число знаков справа от точки, от 0 до p
    длина от 2 до 17 байт, для совместимости с VB по умолчанию p полагается равным 28
    float(n)от 2.23E-308 до 1.79E+308, число значящих цифр n от 1 до 15 длина 8 байт
    realот 1.18E-38 до 3.40E+38длина 4 байта; то же, что и float(7)
    int от -2,147,483,648

    до 2,147,483,647
    длина 4 байта
    smallintот -32,768 до 32,767длина 2 байта
    tinyintот 0 до 255длина 1 байт
    moneyот -$922,337,203,658,477.5808 до +$922,337,203,658,477.5807длина 8 байт
    smallmoneyот -$214,748,3648

    до +$214,748,3647
    длина 4 байта
    bitимеют значение 0 или 1минимальная длина 1 байт; несколько полей bit могут быть объединены в одном байте
    timestampаналог binary(8) или varbinary(8)не связано напрямую с системным временем, однако обеспечивается уникальность данного поля в базе в каждый момент времени; таблица не может иметь более одного столбца timestamp
    textдлина до 2,147,483,647 символовсодержит текстовые данные, может использоваться в предложениях с LIKE; преобразовываться в char и varchar; если поле не NULL, или обновлялось, занимает в базе не менее 2 Кб
    imageдлина до 2,147,483,647 символов содержит двоичные данные, преобразуется в binary или varbinary; если поле не NULL, или обновлялось, занимает в базе не менее 2 Кб
    user-defined  всегда имеет базовый тип, по сути являет собой псевдоним базового типа
    synonyms обеспечивают ANSI совместимый синтаксис описания переменных, например: character varying(n) для varchar(n)
    Наличие компонента SQL Mail позволяет организовать передачу и обработку почтовых сообщений между SQL Server и Exchange Server. Кроме того, SQL Server может отсылать извещения и предупреждения о событиях на сервере БД администраторам и/или операторам.

    Наличие в составе SNA Server ODBC/DRDA-шлюза позволяет организовать репликацию данных, хранимых в базах SQL Server в системы DB/2 для MVS, AS/400 и VM/ESP.

    |


    Содержание раздела