Ms sql субд компании microsoft. Основы администрирования SQL Server. Удобная среда для совместной работы

Характеристика Microsoft SQL Server. Компоненты SQL Server
Microsoft SQL Server - система управления реляционными базами данных (СУБД),
разработанная корпорацией Microsoft. Основной используемый язык запросов - Transact­
SQL, создан совместно Microsoft и Sybase. Transact­SQL является реализацией стандарта
ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется
для работы с базами данных размером от персональных до крупных баз данных масштаба
предприятия; конкурирует с другими СУБД в этом сегменте рынка.
SQL Server 2000 Enterprise Edition и SQL Server 2000 Standard Edition являются
единственными изданиями SQL Server 2000, которые могут устанавливаться и
использоваться в реальных (развернутых) условиях. Это значит, что если вы строите базу
данных или аналитическое приложение, которое обращается к SQL Server 2000, вы должны
использовать SQL Server 2000 Standard или Enterprise Edition. Другие издания не могут
использоваться в развернутых решениях для сервера баз данных из­за технических и
лицензирующих ограничений. Термины “развернутые” и “реальные” (“deployed” and “live”)
вводятся для того, чтобы дифференцировать такие решения от тех, которые являются
решениями в процессе разработки “under development” “in testing” или тестовыми
применениями “in testing”.
Компоненты SQL SERVER 2000
Рассмотрим основные компоненты SQL Server 2000.
Microsoft SQL Server 2000 реализован в виде набора служб операционной системы, каждая
из которых запускается самостоятельно и отвечает за определенный круг задач. Приведем
список служб SQL Server:
1. MSSQLServer;
2. SQLServerAgent;
3. Microsoft Search (MSSearch);
4. Microsoft Distributed Transaction Coordinator (MSDTC).
Реализация в виде служб позволяет SQL Server 2000 работать как части операционной
системы, иметь собственные права доступа и не зависеть от пользователя, работающего на
компьютере в данный момент. Операционная система Windows 95/98 не поддерживает
служб, поэтому для работы SQL Server 2000 под управлением этой операционной системы
автоматически выполняется эмуляция служб. Это связано с тем, что для работы в любой из
поддерживаемых операционных систем SQL Server 2000 применяет единственный
программный код. “Microsoft” не стала создавать отдельный продукт для работы в
операционной системе Windows 95/98, а просто выполнила эмуляцию служб Windows NT.
Инструменты SQL Server 2000
1. Enterprise Manager. Данный инструмент является базовым при выполнении самых
разнообразных задач:
­ управления системой безопасности;
­ создания баз данных и ее объектов;
­ создания и восстановление резервных копий;
­ конфигурирования подсистемы репликации;
­ управления параметрами работы служб SQL Server 2000;
­ управления подсистемой автоматизации;
­ запуска, останова и приостанова служб;
­ конфигурирования связанных и удаленных серверов;
­ создания, управления и выполнения пакетов DTS
Приведенный список не исчерпывает всех областей применения Enterprise Manager и легко
может быть расширен.
Большая часть административных задач SQL Server 2000 может быть выполнена
следующими методами:

­ использованием средств Transact­SQL;
­ с помощью графического интерфейса Enterprise Manager;
­ с помощью мастеров (wizards).
2. SQL Server Service Manager. Единственной задачей утилиты SQL Server Service
Manager является предоставление пользователю удобного механизма запуска, останова и
приостановки служб SQL Server 2000. Кроме этого, она позволяет лишь запретить или
разрешить автоматический запуск той или иной службы при загрузке операционной
системы.
Утилита Service Manager устанавливается при инсталляции SQL Server 2000 и по
умолчанию автоматически запускается при загрузке операционной системы. В нормальном
состоянии утилита Service Manager представлена значком в правой части панели задач
(taskbar). Двойной щелчок на пиктограмме приведет к открытию окна программы, с
помощью которого можно запускать, останавливать и приостанавливать службы SQL
Server 2000, а также разрешать или запрещать их автоматический запуск при загрузке
операционной системы.
3. SQL Server Profiler. Утилита SQL Server Profiler – это графический инструмент, с
помощью которого администратор может наблюдать за теми или иными аспектами работы
SQL Server 2000. При выполнении пользовательских запросов, хранимых процедур,
команд Transact­SQL, подключении к серверу и отключении от него, а также множества
других действий ядро SQL Server 2000 сохраняет в системных таблицах массу различной
информации о ходе выполнения операций. Эта информация может быть получена с
помощью специальных хранимых процедур. Утилита SQL Server Profiler использует эти
хранимые процедуры для получения необходимой информации. Полученные данные затем
представляются в удобном виде с помощью графического интерфейса, однако
пользователи могут получать информацию о процессах SQL Server 2000, обращаясь
напрямую к хранимым процедурам. В принципе, на основе этих хранимых процедур можно
даже написать свое собственное приложение, которое будет отображать информацию о
работе SQL Server 2000 в нужной форме.
4. Query Analyzer. Этот инструмент предназначен для выполнения запросов и анализа их
исполнения. По частоте использования и важности Query Analyzer сравним с Enterprise
Manager. Для выполнения SQL­кода, его нужно воспроизвести в окне Query Analyzer и
нажать кнопку Execute Query, на которой изображен зеленый треугольник. Результат
выполнения запроса будет отображен в нижней части окна SQL Query Analyzer.
5. Upgrade Wizard. Мастер Upgrade Wizard предназначен для выполнения обновления баз
данных SQL Server 6.5 до SQL Server 2000. В процессе обновления на SQL Server 2000
будут перенесены собственно данные, а также весь набор объектов обновляемой базы
данных, включая хранимые процедуры, триггеры, правила, умолчания, ограничения
целостности, представления. Кроме того, также окажутся перенесенными пользователи
базы данных со всеми установленными правами доступа к объектам базы данных и т. д.
6. Import and Export Data. Этот инструмент является мастером импорта/экспорта
данных, предназначенным для создания пакета DTS, который будет выполнять копирова­
ние информации между двумя источниками данных. Отличительной особенностью мастера
является простота конфигурирования процесса копирования данных.
7. Client Network Utility и Server Network Utility. Наличия протокола не достаточно для
сетевой работы SQL Server 2000. Для того чтобы клиенты смогли установить соединение с
сервером как на клиенте, так и на сервере, необходимо добавить специальные сетевые
библиотеки (Network Library). Эти библиотеки реализованы в виде динамически
подключаемых библиотек (DLL, dynamic link library) и подключаются к операционной
системе. Библиотека расширяет базовые возможности протокола и является как бы

надстройкой над ним, выполняющей различные сетевые операции по обмену данными
между клиентом и сервером.
8. Утилиты командной строки.
Помимо уже рассмотренных утилит, имеющих
графический интерфейс, в SQL Server 2000 существует набор утилит командной строки, с
помощью которых также можно выполнять различные задачи. Некоторые из этих утилит
используются сервером автоматически и являются, скорее, частью ядра SQL Server 2000,
чем собственно утилитами.
В файле материалов приведен обзор утилит командной строки. Указанные утилиты авто­
матически копируются мастером установки в каталог Binn установочного каталога SQL
Server 2000, но могут быть запущены из любого другого каталога, так как мастер
соответствующим образом конфигурирует переменную окружения PATH.
9. Мастера. Как уже говорилось, многие задачи могут быть выполнены с помощью
мастеров. Это наиболее простой способ выполнения административных задач. Не­
достатком мастеров являются достаточно ограниченные возможности. Однако некоторых
мастеров сказанное не касается. К ним можно отнести мастера конфигурирования
подсистемы репликации, что является довольно сложным процессом. Например, чтобы
создать публикацию средствами Enterprise Manager, нужно воспользоваться
соответствующим мастером. Конечно, всегда можно применить средства Transact­SQL. Но
иногда это настолько сложно и трудоемко, что лучшим решением будет использование
мастера

Рассмотрены основные возможности и особенности системы Microsoft SQL Server, последовательность ее инсталляции. Разобраны способы создания базы данных и работы с таблицами в программе Enterprise Manager. Приведены краткие сведения по созданию клиентских приложений для работы с базами данных этой системы, по возможностям систем Microsoft Access и Visual FoxPro по работе с базами данных системы Microsoft SQL Server. Цель: Ознакомление с принципами использования системы Microsoft SQL Server для работы с базами данных.

Общая характеристика системы

Microsoft SQL Server - одна из наиболее мощных систем работы с базами данных в архитектуре "клиент-сервер". Особенность системы - работа сервера только в операционных системах ряда Microsoft Windows NT - NT Server 4.0, 2000 Server, Server 2003, при этом клиентская часть может взаимо-действовать с сервером из Microsoft Windows 98 и других операционных систем. Рекомендуемая файловая система для SQL Server - NTFS, хотя возможна работа и в системе FAT.

В своем составе система имеет средства создания баз данных, работы с информацией баз данных, перенесения данных из других систем и в другие системы, резервного копирования и восстановления данных, развитую систему транзакций, систему репликации данных, реляционную подсистему для анализа, оптимизации и выполнения запросов клиентов, систему безопасности для управления правами доступа к объектам базы данных и пр. (см. ). Система не содержит средств разработки клиентских приложений. В таблицах 8.1-8.3 приведены некоторые максимальные возможности системы.


Рис. 8.1.

Таблица 8.1. Максимальные параметры баз данных
Наименование Величина
Размер базы данных 1 048 516 TB
Количество объектов в базе данных 2 147 483 647
Количество экземпляров сервера на одном компьютере 16
Количество баз данных в одном экземпляре сервера 32767
Количество файлов в базе данных 32767
Количество таблиц в базе данных ограничено количеством объектов в базе
Количество полей в таблице базы 1024
Размер файла данных 32 TB
Длина идентификаторов 128 символов
Уровень вложенных хранимых процедур 32
Уровень вложенных запросов 32
Количество некластерных индексов для одной таблицы базы 249
Количество полей в одном индексе 16
Количество байт в одном индексе 800
Количество таблиц в одном запросе 256
Количество байт в одной строке таблицы 8060
Таблица 8.2. Максимальное количество процессоров, поддерживаемых различными версиями системы в режиме симметричной мультипроцессорной обработки данных (SMP)
Операционная система
Enterprise Edition Standard Edition Personal Edition Developer Edition Desktop Engine SQL Server CE
Microsoft Windows 2000 DataCenter 32 4 2 32 3 - 32
Windows 2000 Advanced Server 8 4 2 8 2 - 8
Windows 2000 Server 4 4 2 4 2 - 4
Windows 2000 Professional - - 2 2 2 - 2
Microsoft Windows NT ® 4.0 Server, Enterprise Edition 8 8 2 8 2 - 8
Windows NT 4.0 Server 4 4 2 4 2 - 4
Windows NT 4.0 Workstation - - 2 2 2 - 2
Microsoft Windows 98 - - 1 Use Desktop Engine 1 - -
Windows CE - - - - - 1 -
Таблица 8.3. Максимальный размер физической памяти (RAM), поддерживаемой различными версиями системы (Гб)
Операционная система Версия Microsoft SQL Server 2000
Enterprise Edition Standard Edition Personal Edition Developer Edition Desktop Engine SQL Server CE Enterprise Evaluation Edition
Windows 2000 DataCenter 64 2 2 64 2 - 64
Windows 2000 Advanced Server 8 2 2 8 2 - 8
Windows 2000 Server 4 2 2 4 2 - 4
Windows 2000 Professional - - 2 2 2 - 2
Windows NT 4.0 Server, Enterprise Edition 3 2 2 3 2 - 3
Windows NT 4.0 Server 2 2 2 2 2 - 2
Windows NT 4.0 Workstation - - 2 2 2 - 2

Типы данных системы

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

Таблица 8.4. Типы данных системы
Наименование Описание типа данных
Двоичные данные
binary [ (n) ] максимальная длина 8 000 байт (n)
varbinary [ (n) ] данные переменной длины, максимальная длина 8 000 байт (n)
image максимальная длина 2 147 483 647 байт
bit тип данных, который принимает значения 1 или 0
Символьные данные
сhar [(n)] максимальная длина 8 000 символов (n)
varchar [(n)] тип переменной длины, максимально 8 000 символов (n)
text
Символьные данные в кодировке Unicode
nchar (n) максимальная длина 4 000 символов (n)
nvarchar (n) переменной длины в кодировке Unicode максимальная длина 4 000 символов (n)
ntext максимальная длина 1 073 741 823 символов
Числовые целые данные
bigint диапазон от -922 337 203 685 4775808 до 922 337 203 685 4775807
Int диапазон от -2 147 483 648 до 2 147 483 647
smallint диапазон от - 32 768 до 32 767
tinyint диапазон от 0 до 255
Числовые данные с дробной частью числа
decimal[(p[, s])] диапазон от -10 38 -1 до 10 38 -1 с задание фиксированного количества знаков (p - всего и s -дробной части), максимальное общее количество знаков 38
numeric то же, что и decimal
float [ (n) ] диапазон от +2.29*10 -308 до +1.79*10 308
real числа с 7-значной точностью в диапазоне от +1.18*10 -38 до +3.40*10 38 .
Тип дата и время
datetime диапазон от 1.01.1753 до 31.12.9999 с точностью 3.33 мс
smalldatetime диапазон от 1.01.1900 до 6.06.2079 с точностью 1 мин.
Денежный тип
money диапазон от -7 203 685 477.5808 до +922 337 203 685 477.5807
smallmoney диапазон от -214 748.3648 до +214 748.3647
Данные специальных типов
timestamp счетчик, автоматически увеличивающийся, имеющий уникальное значение для базы данных (тип binary(8) или varbinary(8))
uniqueidentifier тип, который содержит уникальный идентификационный номер (GUID), сохраняемый как 16-битная двоичная строка
sql_variant тип, который сохраняет значения различных типов, кроме text, ntext, timestamp и sql_variant.
sysname тип - синоним nvarchar , используется для ссылок на имена объектов базы данных

Установка системы

Установка системы Microsoft SQL Server выполняется с дистрибутивного диска запуском файла AUTORUN.EXE (который, в свою очередь, запускает программу \Sql†\setup\setupsql.exe). При этом начинает работать Мастер установки , который пошагово предлагает вам выбрать параметры установки системы.


Рис. 8.3. Выбор вида инсталляции "сервер"

Возможные варианты:

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

Далее программа установки попросит ввести имя пользователя и название организации, а также предложит принять лицензионное соглашение. После этого откроется окно Installation Definition . Оно содержит три варианта установки программного обеспечения ():

  • Client Tools Only - установка сетевых библиотек и средств администрирования SQL Server . Эта опция выбирается для компьютеров, которые будут использоваться для удаленного управления сервером;
  • Server and Client Tools - полная установка SQL Server . Эта опция выбрана по умолчанию;
  • Connectivity Only - установка сетевых библиотек и компонентов для доступа к данным (Microsoft Data Access Components, MDAC ), но не средств администрирования сервера. Эта опция устанавливается для компьютеров, которые должны взаимодействовать с системой SQL Server , но не будут использоваться для администрирования SQL Server .


Рис. 8.6.

При выборе установки пользователя будет показано окно со списком компонентов системы и составом каждого компонента ().


Рис. 8.9.

Следующее окно - задание кодовой страницы и параметров сортировки данных. Здесь можно задать параметры, установленные на компьютере или отдельно заданные для системы SQL Server ().


Рис. 8.10.

Следующее окно - задание используемых сервером сетевых библиотек ().


Рис. 8.12.

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

Одно из важных новшеств системы SQL Server 2000 - возможность установки на одном компьютере нескольких экземпляров SQL Server . Экземпляр SQL Server , который устанавливается первым, называется стандартным или используемым по умолчанию ; все остальные экземпляры, установленные на том же компьютере, называются именованными . Для каждого именованного экземпляра SQL Server может быть определен собственный набор баз данных и пользователей. Если на разных компьютерах установить экземпляры SQL Server с одинаковыми именами, их можно объединить в единый виртуальный сервер.

После инсталляции в группе программ Microsoft SQL Server для версии Developer Edition присутствуют пункты, показанные на .


Рис. 8.13.

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


Рис. 8.14.

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

Таблица 8.5. Службы системы Microsoft SQL Server 2000
Служба Назначение
MSSQLServer Основное ядро SQL Server, реализует функции сервера баз данных
SQLServerAgent Выполняет административные функции, отвечая за плановое выполнение заданий и поддержку операторов. SQL Server может работать без этой службы, но при этом ограничиваются его возможности
MS DTC (Microsoft Distributed Transaction Coordinator) Необходима только в том случае, если в системе выполняются распределенные транзакции. Если в ней нет необходимости, можно ее не устанавливать
Microsoft Search (MS Search) Поддерживает полнотекстовый поиск. Она генерирует каталоги и полнотекстовые индексы, а также выполняет сам поиск. Если в ней нет необходимости, можно ее не устанавливать
MSSQLServerOLAPService Специальная служба, представляющая дополнительный компонент SQL Server - Microsoft SQL Server 2000 Analysis Services (сервер для оперативной аналитической обработки данных - OLAP)

В состав системы Microsoft SQL Server 2000 входит программа Enterprise Manager (), имеющая большие возможности по администрированию и работе с базами данных. Если после запуска этой программы список серверов в ней пустой, следует зарегистрировать в ней установленные на компьютере экземпляры сервера. При использовании системы аутентификации Windows NT , запроса пароля при подключении не последует. Если используется система аутентификации SQL Server , Enterprise Manager спросит, следует ли выполнять автоматическое подключение или вы хотите, чтобы имя и пароль запрашивались у вас при каждом подключении.

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


увеличить изображение
Рис. 8.15. Программа Enterprise Manager

Развернув список баз данных сервера в Enterprise Manager , мы увидим системные и установленные по умолчанию учебные базы данных.

Это следующие шесть баз данных:

  • master - служит для управления сервером;
  • model - шаблон пользовательских баз;
  • msdb - журнал выполнения заданий и расписания;
  • tempdb - хранение временных таблиц и объектов;
  • Northwind - пример пользовательской базы;
  • Pubs - пример пользовательской базы.

Базы данных Northwind и Pubs - это учебные базы данных SQL Server , которые можно не устанавливать. Базы данных master, model, msdb, tempdb являются системными и необходимы для работы SQL Server . В программе Enterprise Manager следует просмотреть системные учетные записи, созданные в ходе установки. Для этого нужно открыть папку Logins, которая расположена в папке Security ().


увеличить изображение
Рис. 8.16. Учетные записи пользователей в программе Enterprise Manager

На сервере должны быть определены три учетные записи:

  • BUILTIN\Administrators ;
  • ИМЯДОМЕНА\УчетнаязаписьслужбыSQLServer ; (если при установке выбран Use a domain user account)

Эти учетные записи генерируются в процессе установки SQL Server и играют очень важную роль.

Группа BUILTIN\Administrators создается исключительно при установке SQL Server в Windows NT Server или Windows NT Server Enterprise Edition, причем только при использовании системы аутентификации Windows NT. В ней представлены все члены встроенной группы Windows NT Administrators , имеющие административные разрешения на доступ к серверу.

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

При установке Desktop-версии SQL Server в Windows 9.x создается только учетная запись sa .

Создание базы данных

Для создания новой базы данных пользователь должен иметь права администратора или роль Database Creators .

Как и многие другие операции, создание базы данных проще всего выполнить с использованием программы SQL Server Enterprise Manager .

Можно также воспользоваться программой создания базы данных, написанной на языке Transact-SQL , которую можно запустить из программы SQL Query Analyzer . Программа создания базы данных и ее таблиц может быть сгенерирована с использованием средств моделирования баз данных, например, Case Studio , как описывалось в лекции 3.

Создание базы данных в программе Enterprise Manager выполняется следующим образом. В окне этой программы (см. ) в папке Databases следует выбрать в меню окна, контекстном меню или на панели инструментов команду New . Можно также воспользоваться мастером создания баз данных, вызываемым и пункте меню Tools окна консоли сервера.


увеличить изображение
Рис. 8.17. Создание новой базы данных

В результате будет создана новая база по шаблону базы model . В ней будут присутствовать все группы объектов этого шаблона:

  • Diagrams - схемы, отображающие связи между таблицами базы;
  • Tables - папка таблиц, в которых хранится информация о таблицах базы и их индексах;
  • Views - папка представлений - описаний наборов данных, объединенных из нескольких таблиц в одну виртуальную таблицу;
  • Stored Procedures - хранимые процедуры - список процедур на языке Transact-SQL ;
  • Users - сведения о владельце базы (owner) и правах пользователей, имеющих доступ к базе;
  • Roles - описание типов групп пользователей;
  • Defaults - описание значений по умолчанию базы и их связей с колонками таблиц;
  • User Defined Data Types - описания типов данных пользователя;
  • User Defined Functions - описания функций пользователя;
  • Full-Text Catalog - папка для сохранения полнотекстовых индексов.

Создание таблиц базы данных

В программе Enterprise Manager в папке Table базы данных выбрать команду New ().


Рис. 8.18.

В появившемся окне с названием New Table in <имя базы> оn <имя SQL сервера> описать структуру таблицы, т.е. имена колонок - Column Name , тип данных в колонке - Data Type , длину данных - Length и возможность существования не заполненного информацией поля - Allow Nulls ().


Рис. 8.19.

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

Для создания индексов в окне Design Table следует выбрать кнопку панели инструментов Manage Indexes/Keys , после чего откроется окно свойств таблицы Properties , где на третьей странице нужно описать индексы, которые могут быть уникальными или нет, кластерными (физический порядок в таблице на диске соответствует индексу) или нет ().


Рис. 8.20.

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

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

Рис. 8.23. Выбор режима работы

При этом можно представить в окне таблицы все данные или отобрать необходимые данные с заданием условий в запросе ().


Рис. 8.24.

Разработка клиентских приложений

Основной язык работы с базой данных в системе Microsoft ® SQL Server™ 2000 - Transact-SQL .

Программы на этом языке генерируют такие системы, как Microsoft Visual C++ ® , Microsoft Visual Basic ® , Microsoft Visual J++ ® и другие, использующие при разработки клиентских приложений программный интерфейс общего назначения (Application Programming Interface - API) ADO , OLE DB или ODBC :

  • ADO - Microsoft ActiveX ® Data Objects поддерживает быструю разработку сложных приложений и имеет доступ к большинству компонентов системы SQL Server .

    По архитектуре ADO - интерфейс прикладного уровня, который использует OLE DB , библиотеку интерфейсов COM . Использование ADO ограждает прикладного разработчика от потребности программирования COM интерфейсов.

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

    OLE - связывание и внедрение объектов.

    COM - технология Windows - Component Object Model .

    Компоненты системы SQL Server , необходимые большинству приложений, поддерживают ADO при использовании Microsoft OLE DB Provider for SQL Server .

    При разработке приложений в системе Microsoft Visual Studio .NET используется объект доступа к данным ADO .NET , предоставляющий новые возможности по работе в режиме отрыва от источника данных (соединение только на время получения и пересылки данных) .

  • OLE DB для средств, основанных на COM.

    OLE DB Provider for SQL Server использует специфичные свойства провайдера, интерфейсы и методы компонентов SQL Server, не включенные в OLE DB -спецификации. Большинство этих определенных провайдером компонентов не доступно через ADO.

  • ODBC (Open Database Connectivity) - стандартный интерфейс, позволяющий приложениям Windows обращаться к тем источникам данных, для которых установлен драйвер базы данных.

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

Второй язык работы с базой данных в системе Microsoft ® SQL Server™ 2000 - Xpath - язык, описанный в стандарте W3C (World Wide Web Consortium) , использует XML -формат документов. Интерфейс взаимодействия с системой SQL Server - ADO API, OLE DB API.

Схема взаимодействия клиентских компонентов и сервера показана на .


Рис. 8.25.

Работу с базой данных можно также организовать с использованием Microsoft Access или Visual FoxPro с использованием ODBC (драйвер SQL Server).

Использование Microsoft Access для работы с базой данных системы Microsoft SQL Server

В базе данных Microsoft Access можно установить связь с таблицами базы данных системы SQL Server . Для этого следует выбрать команду Связь с таблицами : (в контекстном меню базы) и создать новое соединение с базой данных системы SQL Server (или выбрать существующее) с выбором драйвера SQL Server .

Для этого выбираем для связи "тип файлов" - "Базы данных ODBC " и в появившемся окне выбираем команду "New:". В следующем окне "Create New data Source" выбираем драйвер "SQL Server" и задаем имя соединения - Students_SQL. После этого в окне "Create a New Data Source to SQL Server" задаем имя SQL-сервера (для установки по умолчанию это имя local и выбираем из списка имя базы данных, с которой устанавливается соединение - Students.

В последнем окне SQL Server ODBC Data Source Test должны получить сообщение TESTS COMPLETED SUCCESSFULLY!


Рис. 8.26.

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

Работа с данными системы Microsoft SQL Server может быть организована с использованием проекта Microsoft Access .

Проект Microsoft Access (*.adp) представляет собой новый тип файлов Access , предоставляющих эффективный, естественный доступ к базам данных Microsoft SQL Server с помощью архитектуры компонентов OLE DB . В архитектуре OLE DB приложения, получающие доступ к данным, называют потребителями данных (например, Microsoft Access 2000 или Microsoft Visual Basic 6.0 ), а программы, обеспечивающие внутренний доступ к данным, называют средствами доступа к базам данных (например, Microsoft OLE DB Provider для SQL Server или Microsoft Jet 4.0 OLE DB Provider). С помощью проекта Access можно легко создать приложение типа "клиент-сервер". Для этого выбираем команду "Новый проект с имеющимися данными" и выбираем связь с базой данных Students на SQL-сервере (см. ).


Рис. 8.27.

Полученное окно проекта () внешне почти ничем не отличается от окна базы данных Microsoft Access. В окне присутствует новый раздел - "Схемы баз данных", в окне Конструктора таблиц используются типы данных системы SQL Server , схема базы данных имеет тот же вид, что и в системе SQL Server .


Рис. 8.28.

Работа с проектом Microsoft Access очень похожа на работу с базой данных Access . Процесс создания форм, отчетов, страниц доступа к данным, макросов и модулей одинаков. Подключившись к базе данных SQL Server , можно просматривать, создавать, изменять и удалять таблицы, представления, сохраненные процедуры и схемы баз данных. В проекте можно применять Мастер для разработки форм, отчетов и Web-страниц доступа к данным.

Проект Microsoft Access использует MSDE (Microsoft Data Engine) - новую технологию, обеспечивающую совместимость локального хранения данных с Microsoft SQL Server . MSDE можно рассматривать как ядро обработки данных в архитектуре "клиент-сервер", альтернативное ядру базы данных Microsoft Jet для файлового сервера. Технология MSDE разработана и оптимизирована для применения на малых компьютерах, таких как рабочие станции пользователей или малые серверы рабочих групп.

Для экспорта данных и объектов Microsoft Access в формат SQL Server может быть использован мастер преобразования в формат SQL Server . Мастер преобразует базу данных Microsoft Access (.mdb) в новую или существующую базу данных Microsoft SQL Server либо в новый проект Microsoft Access (.adp) путем преобразования данных, описаний данных и переноса объектов базы данных.

Использование Visual FoxPro для работы с базой данных системы Microsoft SQL Server

В Visual FoxPro 8.0 и 9.0 существуют два способа установления связи и выполнения обмена данными с системой Microsoft 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 внутри сети.


Утилита служит для настройки отправки отчетов об ошибках в службу поддержки 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 SQL server, СУБД от компании Microsoft. Она использует реляционную модель данных. Microsoft SQL server является клиент-серверной СУБД, что делает ее хорошей для использования в крупных организациях, имеющих мощный сервер. Платформа данных MS SQL Server 2005 включает следующие инструменты для работы с базой данных:

  • · Поддержка структурированных и неструктурированных (XML) данных.
  • · Replication Services: репликация данных для распределённых и мобильных приложений обработки данных, высокая доступность систем, масштабируемый параллелизм со вторичными хранилищами данных для отчётных решений предприятия и интеграция с разнородными системами, включая существующие базы данных Oracle.
  • · Notification Services: развитые возможности уведомлений для разработки и внедрения масштабируемых приложений, способных доставлять персонализированные, своевременные обновления информации множеству соединённых и мобильных устройств.
  • · Integration Services: возможности извлечения, преобразования и загрузки для хранилищ данных и интеграции данных в масштабе предприятия.
  • · Analysis Services: аналитическая обработка в реальном времени (OLAP) для быстрого, сложного анализа больших и смешанных наборов данных, использующая многомерное хранение.
  • · Reporting Services: исчерпывающее решение для создания, управления и доставки как традиционных бумажных отчётов, так и интерактивных, основанных на технологии WWW отчётов.
  • · Инструменты управления: SQL Server включает средства управления для развитого управления и настройки баз данных, также как и тесную интеграцию с такими инструментами, как Microsoft Operations Manager (MOM) и Microsoft Systems Management Server (SMS). Стандартные протоколы доступа к данным существенно уменьшают время, необходимое для интеграции данных SQL Server с существующими системами. В дополнение, поддержка Web служб встроена для обеспечения взаимодействия с другими приложениями и платформами.
  • · Инструменты разработки: SQL Server предлагает интегрированные инструменты разработки для ядра базы данных, извлечения, трансформации и загрузки данных, извлечения информации, OLAP и отчётности, которые тесно интегрированы с Microsoft Visual Studio® для предоставления сквозных возможностей разработки приложений. Каждая главная подсистема SQL Server поставляется со своей собственной объектной моделью и набором API для расширения системы данных в любом направлении, которое уникально для вашего бизнеса.

Особенностью данной СУБД являются следующие средства:

SQL Server Management Studio. SQL Server упрощает управление путём предоставления единой интегрированной консоли управления для мониторинга и управления реляционной базой данных SQL Server, Integration Services, Analysis Services, Reporting Services, Notification Services и SQL Mobile на большом числе распределённых серверов и баз данных. Администраторы баз данных могут выполнять несколько задач одновременно, включая следующие: создание и выполнение запроса, просмотр серверных объектов, управление объектом, отслеживание активности системы и просмотр оперативной справки. SQL Server Management Studio содержит среду разработки для создания, редактирования и управления сценариев и хранимых процедур, используя Transact-SQL, многомерные выражения (MDX), XMLA и SQL Server Mobile Edition. Management Studio легко интегрируется с системой контроля версий. Management Studio также содержит инструменты для планирования задач Агента SQL Server и управления Планами Технического Обслуживания для автоматизации ежедневных задач обслуживания. Объединение задач управления и создания в одном инструменте в соединении со способностью управлять всеми типами серверов обеспечивает улучшенную производительность для администраторов баз данных.

Упреждающий мониторинг и настройка производительности SQL Server предоставляет более 70 новых мер внутренней производительности базы данных и использования ресурсов от памяти, блокировок и планирования до транзакций и операций сетевого и дискового ввода-вывода. Эти Динамические Представления Управления (Dynamic Management Views - DMV) обеспечивают большую прозрачность и видимость состояния базы данных и мощную инфраструктуру для упреждающего мониторинга жизнеспособности и производительности базы данных.

Объекты Управления SQL (SQL Management Objects) Объекты Управления SQL (SMO) являются новым набором объектов для программирования, которые предоставляет полную функциональность для управления базой данных SQL Server. Фактически, Management Studio построена на Объектах Управления SQL. SMO реализована в виде сборки Microsoft .NET Framework. SMO можно использовать для автоматизации распространённых задач администрирования SQL Server, таких как программное получение конфигурационных настроек, создание баз данных, выполнение сценариев Transact-SQL, создание заданий Агента SQL Server и планирование резервного копирования. Объектная модель SMO является более безопасной, надёжной и масштабируемой заменой Распределённым Объектам Управления (DMO), которые входят в состав предыдущих версий SQL Server.

Выделенное административное соединение SQL Server привносит выделенное административное соединение для доступа к серверу даже если он не отвечает или недоступен по иной причине. Это позволяет вам выполнять диагностические функции или операторы Transact-SQL для разрешения проблем на сервере. Административное соединение активируется членами фиксированной серверной роли sysadmin и доступно только через утилиту командной строки SQLCMD либо локально, либо с удалённой машины.

Поддержка Web служб В SQL Server можно разрабатывать Web службы XML в уровне базы данных, используя SQL Server в качестве слушателя HTTP. Это даёт новый способ доступа к данным приложениям, которые сосредоточены вокруг Web служб. В SQL Server 2005 можно использовать HTTP для прямого доступа к SQL Server, без применения слушателя промежуточного уровня, такого как Microsoft Internet Information Services (IIS). SQL Server предоставляет интерфейс Web службы для выполнения SQL выражений и вызова функций и процедур. Результаты запросов возвращаются в XML формате и здесь можно воспользоваться преимуществами инфраструктуры Web служб Visual Studio.

Важно отметить, что MS SQL Server рассчитана на работу именно на платформе Windows. Это ограничивает ее использование в различных сферах деятельности. Кроме того, компания Microsoft ориентируется на снижение стоимости СУБД, что приводит к уменьшению эффективности средств обеспечения надежности и безопасности. Это является важным фактором при выборе СУБД для организации.

Системы управлении базами данных (СУБД) в последнее время стали неотъемлемой частью ИТ-инфраструктуры практически любой компании. Сейчас достаточно сложно найти компанию, которая бы не пользовалась системой 1С:Предприятие или какой-либо мощной ERP системой, такой как SAP или Microsoft Dynamics (CRM), которые используют СУБД для хранения своих данных. Почти все WEB-приложения используют СУБД для хранения информации о клиентах, наименований товаров и т.п. Если раньше СУБД использовались в основном для хранения текстовых и числовых данных, то сейчас в СУБД хранятся такие данные, как изображения, видеозаписи и многие другие типы данных. Объёмы баз данных в некоторых отраслях выросли до нескольких терабайт. Поэтому сейчас, как никогда ранее, повысились требования к надёжности и производительности систем управления базами данных. Лидирующие позиции на рынке среди СУБД занимает Microsoft SQL Server. Доля рынка Microsoft SQL Server, по данным Gartner, составляет 46,8%, остальная часть рынка принадлежит Oracle и IBM DB2, относительно небольшую часть рынка занимают СУБД Open Source, такие как Postgre и Firebird.

Microsoft SQL Server 2012 является новейшей и мощнейшей системой управления базами данных. Помимо стандартных для СУБД функций, SQL Server 2012 содержит большой набор интегрированных служб по анализу данных. Доступ к данным, расположенным на SQL Server могут получить любые приложения, разработанные на.Net и VisualStudio, а также приложения пакета Microsoft Office 2007. SQL Server 2012 обеспечивает высочайшую в своём классе масштабируемость, производительность и безопасность.

Microsoft SQL Server 2012 поддерживают более 15000 поставщиков программного обеспечения, его используют более 74,7% крупнейших компаний мира. Microsoft SQL Server 2012 используют практически все ERP и CRMсистемы, как SAP, Microsoft Dynamics, 1C: Предприятие, Microsoft CRM.

Платформа данных SQL Server

SQL Server 2012 предоставляет средства по созданию и управлению реляционными базами данных. Также SQL Server 2012 поддерживает новые средства аналитической обработки данных (Analysis Services), средства отчётности (Reporting Services), а также множество средств, упрощающих разработку приложений.

Ввиду того, что на SQL Server работают критические бизнес-приложения, предприятия выдвигают очень жёсткие требования по производительности, отказоустойчивости и безопасности самой СУБД.

Безопасноcть SQL Server 2012:

  • Интерактивное шифрование баз данных. SQL Server 2012 поддерживает прозрачное шифрование баз данных и журналов транзакций. Данная функция позволяет заказчику быть уверенным в том, что неправомочный доступ к данным компании невозможно будет получить, даже завладев сервером или системой хранения данных.
  • Поддержка PKI. SQL Server 2012 поддерживает инфраструктуру сертификатов. Доступ к данным можно ограничивать и шифровать при помощи сертификатов и аппаратных модулей защиты (TPM).
  • Интеграция с доменом ActiveDirectory. Доступ к данным можно разрешать по доменным пользователям и группам.
  • Аудит. SQL Server 2012 поддерживает аудит доступа к данным и контроль за осуществляемыми с базой данных действиями.

Отказоустойчивость SQL Server 2012:

  • Зеркалирование БД (Database Mirroring). Технология зеркалирования предполагает наличие одного активного сервера, с которым работают все клиенты, и одного зеркального сервера, на который происходит передача всех журналов транзакций и их применение к зеркальной БД. При отказе активного сервера, происходит переключение на зеркальный сервер. Это делается либо вручную, либо автоматически, при использовании сервера-наблюдателя (Witness). Таким образом обеспечивается отказоустойчивость БД, и в случае сбоя максимум, что теряется - это одна транзакция. При этом не требуется никакого специализированного кластерного оборудования или SAN-устройств. Но нужно учитывать, что данный метод не обеспечивает непрерывность функционирования, ввиду того, что переключение длится несколько секунд и обращения происходят к другому серверу с другим именем, а также не обеспечивается распределение нагрузки и снижается производительность. В SQL Server 2012 появилась функция автоматического восстановления повреждённых страниц с зеркального сервера, а также добавлена функция прозрачного перенаправления клиентов на зеркальный сервер.

Database Mirroring в SQL Server 2012

  • Кластеры высокой доступности (High Availability Cluster). Крупные компании, которым требуется непрерывность функционирования, постоянная доступность БД и распределение нагрузки, используют SQL Server 2012 в режиме кластера. SQL Server 2012 поддерживает 16-ти узловую кластеризацию, причём кроме кластеризации ядра СУБД, поддерживается также кластеризация Analysis Services, Notification Services и Replication Services. Кластер SQL Server 2012 позволяет обеспечить режим функционирования 24/7 для критических бизнес-приложений.

Двух узловой кластер на базе SQL Server 2012

Масштабируемость SQL Server 2012:

  • Горячее добавление памяти и процессоров. SQL Server 2012 позволяет не выключая и не перезагружая сервер добавлять в него оперативную память и процессоры (эта функция должна также поддерживаться и оборудованием).
  • Репликация БД. SQL Server 2012 позволяет создавать копии БД в удалённых филиалах. Поддерживаются различные механизмы репликации с использованием транзакций, слияния и моментальных снимков. Репликация может быть как односторонней, когда например, изменения из центрального офиса реплицируются в филиалы, так и двусторонней. SQL Server 2012 поддерживает распределённые приложения и гео-распределённую кластеризацию.
  • Распределение ресурсов (Resource Governor). SQL Server 2012 позволяет распределять ресурсы и назначать приоритет для различных задач. Эта функция позволяет избежать случаев резкого падения производительности всего сервера, и прерывания работы всех пользователей при выполнении одной какой-либо сложной задачи.
  • Поддержка архитектуры Intel Itanium. Для сверхвысоких нагрузок выпущена версия SQL Server 2012, работающая на RISC-серверах, построенных на платформе Intel Itanium (IA-64). Данная редакция SQL Server 2012 применяется в крупных ЦОД для обработки больших объёмов информации. SQL Server 2012 в редакции Itanium поддерживает 64 процессорных ядер и 2 терабайта оперативной памяти. Поддерживаются технологии горячего добавления/отключения процессора и памяти, также поддерживается технология отказоустойчивого зеркалирования памяти и 8-ми узловая кластеризация.

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




Top