17237

Компоненты СУБД MS SQL Server

Лекция

Информатика, кибернетика и программирование

Лекция №3 Компоненты СУБД MS SQL Server SQL Server реализуется в виде нескольких самостоятельных служб каждая из которых отвечает за выполнение определенного круга задач: MSSQLServer; SQLServerAgent; Microsoft Search MSSearch; Microsoft Distributed Transaction Coordinator MS DTС. MSSQLServer Основное яд...

Русский

2013-06-30

93 KB

42 чел.

Лекция №3

Компоненты СУБД MS SQL Server

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

  •  MSSQLServer;
  •  SQLServerAgent;
  •  Microsoft Search (MSSearch);
  •  Microsoft Distributed Transaction Coordinator (MS DTС).

MSSQLServer

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

SQLServerAgent

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

MSSearch

Компонент Microsoft Search, реализованный в виде службы MSSearch, позволяет реализовать поиск символьной информации в полях таблиц баз данных. Возможности поиска были значительно переработаны по сравнению с предыдущими версиями SQL Server. Microsoft Search реализует поддержку полнотекстовых (full-text) каталогов и индексов, созданных для реализации поиска текстовой информации в базе данных. С помощью этой службы вы можете осуществлять поиск слов или фраз в таблицах баз данных. В результирующем множестве будут отражены склоняемые формы глаголов и существительных. Можно осуществлять поиск слов или фраз, стоящих близко по отношению друг к другу.

ПРИМЕЧАНИЕ Полнотекстовые каталоги не хранятся вместе с базами данных. Они реализуются в виде отдельных файлов, к которым обращается только Microsoft Search. Это означает, что они не сохраняются вместе с остальной базой данных в процессе резервного копирования. Полнотекстовые каталоги должны архивироваться и восстанавливаться отдельно. Связь между SQL Server и Microsoft Search реализуется через специального full-text-поставщика.

MS DTC

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

Системные базы данных SQL Server

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

  •  Master;
  •  Msdb;
  •  Model;
  •  Tempdb.

Любая база данных, в том числе и перечисленные системные базы, содержит 18 системных таблиц, которые хранят информацию, определяющую структуру и организацию этой базы данных. В табл. 2.1 перечислены эти таблицы с кратким описанием их назначения. Мы специально не останавливаемся на перечислении колонок таблиц. Вы можете воспользоваться средствами SQL Server Enterprise Manager, чтобы получить информацию о колонках. Просто обратитесь к окну свойств требуемой таблицы либо откройте ее для просмотра.

Таблица 2.1. Системные таблицы, содержащиеся в каждой базе данных

Название таблицы

Описание

Sysallocations

Содержит сведения о размещении объектов внутри базы данных

Syscolumns

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

Syscomments

Таблица содержит определения объектов баз данных

Sysconstraints

Содержит соответствия между ограничениями (constraints) и объектами, которым они принадлежат

Sysdepends

В этой таблице хранятся ссылки на объекты, которые были использованы при определении других объектов баз данных

Sysfilegroups

В таблице перечислены все группы файлов, принадлежащие этой базе данных

Sysfiles

Здесь перечислены все файлы базы данных

Sysforeignkeys

Содержит информацию, определяющую ограничение FOREIGN KEY

Sysfulltextcatalogs

В таблице перечислены все полнотекстовые каталоги, присоединенные к базе данных

Sysindexes

Таблица используется для хранения информации об индексах и таблицах базы данных

Sysindexkeys

Таблица хранит сведения о ключах и колонках индексов

Sysmembers

В таблице перечислены все участники ролей базы данных

Sysobjects

Сведения обо всех объектах, создаваемых в базе данных, содержатся в этой системной таблице

Syspermissions

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

Sysprotects

В таблицу заносятся сведения о разрешениях, которые предоставляются либо отзываются посредством команд GRANT и REVOKE

Sysreferences

Содержит соответствия между ограничением FOREIGN KEY и колонками, на которые оно ссылается

Systypes

Все типы данных, как стандартные, так и пользовательские, хранятся в этой таблице

Sysusers

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

Поскольку системные таблицы содержат сведения, необходимые для успешного функционирования сервера, пользователь не должен напрямую изменять хранящуюся в них информацию. По умолчанию прямой доступ к системным таблицам и использованию Transact-SQL-команд SELECT, INSERT, UPDATE и DELETE запрещен. Для изменения данных необходимо использовать системные хранимые процедуры. Другой альтернативой является применение приложений, использующих SQL-DMO API. Microsoft вообще не рекомендует изменять значения в системных таблицах напрямую, настойчиво рекомендуя использовать хранимые процедуры, что гарантирует правильность и надежность выполняемых операций. Имеющиеся хранимые процедуры охватывают все возможные ситуации управления базами данных, так что необходимость прямого доступа к системным таблицам практически исключена. Кроме того, использование в прикладных приложениях хранимых процедур позволяет гарантировать, что работоспособность программы сохранится даже при изменении структуры системных таблиц в следующих версиях SQL Server.

Системная база данных Master

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

В табл. 2.2 перечислены системные таблицы базы данных Master, в которых хранится информация о конфигурации сервера.

Таблица 2.2. Системные таблицы базы данных Master, содержащие информацию о конфигурации сервера

Название таблицы

Описание

Sysaltfiles

Здесь перечислены все файлы, используемые для хранения баз данных

Syscacheobjects

Содержит сведения о том, как используется кэш-память

Syscharsets

В таблице представлены все наборы символов и порядок сортировки, установленные на сервере

Sysconfigures

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

Syscurconfigs

Эта таблица используется для хранения текущих значений настроек сервера

Sysdatabases

Содержит сведения обо всех базах данных сервера

Sysdevices

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

Syslanguages

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

Syslockinfo

Содержит информацию обо всех блокировках

Syslogins

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

Sysmessages

Строки таблицы содержат сведения об ошибках либо предупреждениях SQL Server

Sysoledbusers

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

Sysperfinfo

В этой таблице хранятся внутренние счетчики SQL Server для Windows NT Performance Monitor

Sysprocesses

Таблица содержит информацию о процессах, как клиентских, так и системных, запущенных на SQL Server

Sysremotelogins

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

Sysservers

Таблица содержит информацию о серверах, способных выступать в роли OLE DB источника данных для SQL Server

Системная база данных Master располагается в файле Master.mdf в каталоге \Data. Для хранения журнала транзакций используется файл Mastlog.ldf в том же каталоге.

Системная база данных Msdb

Системная база данных Msdb используется службой SQLServerAgent для хранения информации о заданиях, операторах и оповещениях. В этой же базе данных хранится информация о расписании исполнения заданий.

Таблица 2.3. Системные таблицы базы данных Msdb

Название таблицы

Описание

Sysalerts

В этой таблице содержатся сведения об оповещениях

Syscategories

Эта таблица содержит категории, которые используются Enterprise Manager для автоматизации администрирования SQL Server

Sysdownloadslist

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

Sysjobhistory

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

Sysjobs

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

Sysjobschedules

Таблица используется для хранения расписания выполнения запланированных заданий

Sysjobservers

Используется для хранения информации о многосерверных заданиях

Sysjobsteps

В каждой строке этой таблицы содержится подробное описание каждого шага заданий SQLServerAgent

Sysnotifications

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

Sysoperators

В эту системную таблицу заносятся сведения об операторах SQL Server

Systargetservergroupmembers

В этой таблице перечислены все серверы назначения, задействованные в многосерверной группе

Systargetservergroups

В этой таблице указаны все группы серверов назначения

Systargetservers

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

Systaskids

Используется для указания соответствия между задачами (применялись в предыдущих версиях SQL Server) и заданиями

Для размещения системной базы данных Msdb используется файл Msdbdata.mdf в каталоге \Data. Для хранения журнала транзакций используется файл Msdblog.ldf, который расположен в том же каталоге.

Системная база данных Tempdb

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

База данных Tempdb является глобальным ресурсом, автоматически доступным всем пользователям. Создаваемые временные объекты могут быть локальными, доступными только создавшему их пользователю, или глобальными. К глобальным объектам могут обращаться все пользователи. Локальные объекты уничтожаются, как только создавший их пользователь заканчивает работу с сервером. Локальный временный объект может быть создан, если в начале его имени указывается один знак #. Если указываются два знака (##), то временный объект будет глобальным.

База данных Tempdb уничтожается всякий раз, когда происходит останов SQL Server. При запуске сервера она создается заново. Естественно, архивирование этой базы данных совершенно бесполезно. Для базы данных Tempdb, как и для всех системных баз данных, поддерживается возможность автоматического увеличения ее размера. Администратор может потратить свое время на решение более серьезных проблем, нежели постоянно следить за тем, чтобы свободное пространство в базе данных не исчерпалось. Необходимо лишь правильно установить первоначальный размер базы данных и шаг его приращения.

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

Файлы базы данных (Tempdb.mdf) и журнала транзакций (Templog.ldf) хранятся в каталоге \Data.

Системная база данных Model

Создание новых баз данных на сервере выполняется путем копирования системной базы данных Model. Все содержимое этой базы данных и все параметры ее конфигурации полностью переносятся в новую базу независимо от метода создания. Неважно, используется для создания базы данных Enterprise Manager или команда Transact-SQL -- набор и последовательность выполняемых действий будут одинаковы. Это позволяет более эффективно организовать работу администратора баз данных, когда приходится создавать множество похожих баз данных. К тому же, если внутри предприятия необходимо поддерживать стандарт для баз данных, можно реализовать его в виде таблиц, хранимых процедур, пользователей, ролей и других объектов и сохранить их в базе данных Model. В результате все создаваемые базы данных будут иметь одинаковый набор стандартных объектов.


 

А также другие работы, которые могут Вас заинтересовать

81968. Практичне заняття «Вогонь – друг, вогонь – ворог» 69 KB
  Мета: продовжити формувати уявлення про причини виникнення пожежі в побуті та її наслідки; вчити учнів правильно діяти у випадку виникнен ня пожежі в сусідів чи на інших об’єктах; розвивати навички самозахисту; виховувати розсудливість, почуття відповідальності за свої вчинки.
81969. Хай вічно горить вогонь пам’яті 42.5 KB
  Яка б річниця визволення нашої країни від німецько-фашистських загарбників не наступала, думка про те, що настала тиша, прийшов довгожданий, вистражданий, оплачений дорогою ціною мир, бентежить душу. Зараз ми послухаємо у грамзаписі спогади учасників боїв.
81970. Вогонь — друг, вогонь — ворог (Сценарій виступу) 35.5 KB
  Через необережне поводження з вогнем щорік гинуло все більше і більше людей. Вогонь — ворог! Він залишив свої криваві сліди в історії всіх епох і народів. Тисячі міст і сіл зникли в полум’ї вогню. Безцінні твори попередніх поколінь перетворились на порох. Вогонь згубив мільйони людей.
81971. УРОК ВНЕКЛАССНОГО ЧТЕНИЯ. ИГРА «ЧТО? ГДЕ? КОГДА?» 48.5 KB
  Цели урока: проверить знания учеников, развивать логическое мышление, привлечь интерес к интеллектуальным играм, воспитывать познавательный интерес, стремление к победе. Оборудование урока: вращающийся волчек со стрелкой, круг с цифрами, десять конвертов с вопросами...
81972. Захворювання статевих органів. Венеричні хвороби. СНІД 157 KB
  Зустрічаючись люди зазвичай говорят це гарне добре слово бажаючи один одному здоров’я. А що таке здоров’я За визначенням Всесвітньої організації охорони здоров’я – це не тільки відсутність хвороб але й стан повного фізичного душевного й соціального благополуччя.
81973. Доброта та жорстокість 44.5 KB
  Мета: ознайомити дітей з поняттям «доброта», «жорстокість». Розвивати вміння творити добро, усувати прояви жорстокості в своїй поведінці. Виховувати чуйне ставлення до людей і всього навколишнього світу.
81974. В здоровом теле – здоровый дух 2.14 MB
  Цель мероприятия: способствовать гармоничному развитию учащихся через использование спортивных и интеллектуальных упражнений. Задачи мероприятия: Развитие интереса к занятиям физической культурой и спортом у уч-ся 3-4 кл. Пропаганда здорового образа жизни.
81975. Позааудиторна робота з іноземної мови 636.5 KB
  Позааудиторна робота з іноземної мови є невід’ємною часткою всього навчально – виховного процесу. Вона поглиблює соціокультурні знання студентів за рахунок охоплення великого кола проблем і питань, що виходять за межі навчальної програми та не розглядаються на занятті.
81976. РАЗРАБОТКА СИСТЕМЫ ПОДДЕРЖКИ ПРОЦЕССА ПЛАНИРОВАНИЯ УЧЕБНЫХ КУРСОВ НА ОСНОВЕ ТЕХНОЛОГИИ SEMANTIC WEB 849.5 KB
  Разработка эволюционного прототипа системы для поддержки процесса планирования учебных курсов. Подход к разработке, основанный на технологиях семантической паутины, экспериментальный на ЭВМ.