Автор работы: Пользователь скрыл имя, 19 Января 2014 в 13:37, доклад
Банк данных (БнД) в общем случае состоит из следующих компонентов: базы (нескольких баз) данных, системы управления базами данных, словаря данных, администратора, вычислительной системы и обслуживающего персонала. Вкратце рассмотрим названные компоненты и некоторые связанные с ними важные понятия.
База данных (БД) представляет собой совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области.
Следует отметить, что вопросы создания и удаления триггеров обычно находятся в компетенции администратора базы данных (АБД), а не разработчиков прикладного программного обеспечения. В следующей главе мы кратко коснемся основных проблем, которые необходимо решать АБД в процессе создания и эксплуатации базы данных, и средств, предоставляемых СУБД для этих целей.
В процессе инсталляции Database Engine генерируются следующие системные базы данных: ♦ master; ♦ model; ♦ tempdb; ♦ msdb.
База данных master является одной из наиболее важных баз данных Database Engine. Она содержит все системные таблицы, необходимые для вашей работы. Например, база данных master содержит информацию обо всех других базах данных, управляемых Database Engine, о клиентских соединениях с системой и об авторизациях пользователей. По причине важности этой системной базы данных вы должны всегда сохранять копию этой базы данных. База данных master изменяется каждый раз, когда вы выполняете различные системные операции. По этой причине вы должны осуществлять ее резервное копирование после выполнения каждой такой операции.
База данных model применяется в качестве шаблона при создании баз данных, определяемых пользователем. Она содержит подмножество всех системных таблиц базы данных master, которые нужны каждой базе данных, создаваемой пользователем. Системный администратор может изменять свойства базы данных model для адаптации ее к специфическим требованиям системы
База данных tempdb предоставляет место для хранения временных таблиц и других необходимых временных объектов. Система, например, сохраняет промежуточные результаты вычислений сложных выражений в базе данных tempdb. База данных tempdb используется всеми базами данных, принадлежащими системе. Ее содержимое уничтожается каждый раз при рестарте системы. Система хранит три различных элемента в базе данных tempdb: ♦ пользовательские объекты; ♦ внутренние объекты; ♦ историю версий. Личные и глобальные временные таблицы, которые создаются пользователями, сохраняются в базе данных tempdb. Другими объектами, сохраняемыми в этой системной базе данных, являются переменные таблиц и функции с табличными значениями.
База данных msdb используется компонентом SQL Server Agent для протоколирования сообщений (alert) и заданий. Эта системная база данных содержит сведения о планировании задач, обработку исключений, управление сообщениями и информацию системных операторов; например, база данных msdb содержит информацию для всех операторов, таких как адреса электронной почты, номера страниц, историю обо всех операциях резервного копирования и восстановления баз данных.
Архитектура хранения данных в Database Engine содержит две основные единицы для хранения объектов базы данных: ♦ страницу; ♦ экстент. Основной единицей хранения данных является страница. Размер страницы всегда составляет 8 Кбайт. Каждая страница имеет 96-байтовый заголовок, используемый для хранения системной информации. Строки данных располагаются на странице сразу после заголовка. Database Engine поддерживает различные типы страниц, наиболее важные из них: ♦ страницы данных; ♦ индексные страницы. При создании таблицы или индекса система выделяет фиксированный объем внешней памяти для хранения данных таблицы или индекса. Когда это пространство заполняется, то должна быть выделена дополнительная память.
Все типы страниц данных имеют фиксированный размер (8 Кбайт), страницы содержат следующие три части: ♦ заголовок страницы; ♦ пространство для данных; ♦ таблицу смещений строк.
Каждая страница имеет 96-байтовый заголовок страницы, используемый для хранения системной информации, такой как идентификатор страницы, идентификатор объекта базы данных, которому принадлежит страница, а также ссылки на предыдущую и последующую страницу в цепочке страниц. Как вы уже, наверное, догадались, заголовок страницы находится в начале каждой страницы. В табл. 15.1 представлена информация, хранящаяся в заголовке страницы.
Часть страницы, зарезервированная
для данных, имеет переменную длину,
которая зависит от количества и
размера строк, хранящихся на этой странице.
Для каждой строки, хранимой на странице,
есть запись в зарезервированном
для данных пространстве и запись
в таблице смещения строк в
конце страницы. (Данные строки не могут
размещаться на двух и более страницах
за исключением значений данных varchar
(max) и varbinary (max), которые хранятся в
собственных специфических
Страницы данных используются для хранения данных таблицы. Существуют два типа страниц данных, каждый из которых используется для хранения данных в различных форматах: ♦ страницы данных последовательных строк (in-row data pages); ♦ страницы данных переполнения строк (row-overflow data pages).
Ничего особенного нельзя сказать про страницы данных последовательных строк: они являются удобными страницами, в которых хранятся данные и индексная информация. Все данные, не относящиеся к LOB, всегда сохраняются в страницах последовательных строк. Значения типов данных varchar (мах), nvarchar (мах), varbinary (мах) и xml также могут храниться в последовательных страницах, если в системной процедуре sp_tabieoption опция large value types out of row установлена в 0. В этом случае все такие значения хранятся непосредственно в строке данных, не превышая ограничения 8000 байтов, и если значение умещается в записи. Если значение не может поместиться в записи, то в строке сохраняется указатель
Значения столбцов varchar (mах) , nvarchar (mах) и varbinary (max) могут быть сохранены вне текущей страницы базы данных. Как вы уже знаете, 8 Кбайт является максимальным размером строки на странице данных, но вы можете расширить это ограничение размера, если используете столбцы столь больших типов данных. В таком случае система сохраняет значения этих столбцов в дополнительных страницах, которые называются страницами переполнения строк. Хранение данных в страницах переполнения строк выполняется только при соблюдении некоторых условий. Первичным фактором является размер строки: если строка требует более 8060 байтов, то значения некоторых столбцов будут сохраняться на страницах переполнения.
Database Engine может одновременно выполнять
различные задачи базы данных.
Следующие задачи могут
Утилиты являются компонентами, которые
предоставляют различные
Утилита bср (Bulk Copy Program, программа массового копирования) является полезной утилитой, которая выполняет копирование данных базы данных в файл данных (или из файла данных в базу данных). Поэтому bср часто используется для преобразования большого объема данных в базу данных Database Engine из других реляционных СУБД при использовании текстового файла (или наоборот). Синтаксис утилиты Bcp: Bcp [[db_name.]schema_name] table_name (in | out | queryout | format} file_name [{-option parameter} ...] Здесь db_name- имя базы данных, которой принадлежит таблица (tabie_ пате). Ключевые слова in и out указывают направление преобразования данных.
Утилита sqlcmd позволяет вам вводить операторы Transact-SQL, вызывать системные процедуры и файлы скриптов из подсказки командной строки. Общий синтаксис этой утилиты: sqlcmd {option [parameter]} ... Здесь option является основной опцией утилиты, a parameter задает значение указанной опции. Утилита sqlcmd имеет множество опций, наиболее важные из которых описаны в табл. 15.2. В примере 15.4 показано использование утилиты sqlcmd. В примере 15.4 пользователь системы базы данных с именем NTB1 1901 выполняет пакет, хранящийся в файле ms0510.sql, и сохраняет результат в выходном файле ms0510.rpt.
Язык Transact-SQL поддерживает оператор dbcc (Database Console Commands, консольные команды базы данных), который работает как команда Database Engine. В зависимости от опций, используемых с dbcc, команды dbcc могут быть разделены на такие группы, как: ♦ поддержка; ♦ информация; ♦ проверка; ♦ смешанные.
Команды проверки осуществляют проверку согласованности базы данных. Следующие команды принадлежат этой группе: ♦ dbcc checkalloc; ♦ dbcc checktable; ♦ dbcc checkcatalog; ♦ dbcc checkdb. Команда dbcc checkalloc проверяет, для каждого ли экстента, указанного в системе, выделена память, а также существуют ли выделенные экстенты, которые не отмечены в системе. Таким образом эта команда выполняет проверку экстентов. Команда dbcc checktable проверяет целостность всех страниц и структур, которые составляют таблицу или индексируемое представление. Все выполняемые проверки осуществляются физически и логически. Физические проверки, контролируют целостность физической структуры страницы.
В этом разделе были описаны некоторые возможности системного окружения Database Engine: ♦ системные базы данных; ♦ хранение данных на диске; ♦ утилиты и команды. Системные базы данных содержат системную информацию и информацию высокого уровня обо всей системе базы данных. Наиболее важной из них является база данных master. Основной единицей дисковой памяти является страница. Размер страниц - 8 Кбайт. Наиболее важным типом страниц являются страницы данных. (Форма индексной страницы почти идентична структуре страницы данных.) Database Engine поддерживает множество утилит и команд. В этом разделе были рассмотрены две утилиты (sqlcmd и Bcp) и команды проверки dbcc.
Система безопасности Database Engine.
Параметры запуска службы Database
Engine
Параметры запуска задают определенное расположение файлов, необходимых для запуска, а также некоторые условия для сервера. Большинству пользователей не нужно задавать параметры запуска за исключением случаев, когда устраняются проблемы служб Компонент Database Engine, либо если возникла неожиданная проблема и необходимо использовать параметр запуска по указанию поддержки пользователей служб SQL Server.
Внимание! |
Неправильное использование параметров запуска может повлиять на производительность сервера или помешать запуску SQL Server. |
О параметрах запуска
При установке SQL Server программа установки сохраняет набор параметров запуска в реестр Microsoft Windows. С помощью этих параметров можно указать альтернативный файл базы данных master, файл журнала базы данных master и файл журнала ошибок. Если компонент Компонент Database Engine не удается найти необходимые файлы, SQL Server на запустится.
Параметры запуска можно задать в диспетчере конфигурации SQL Server. Дополнительные сведения см. в разделе Настройка параметров запуска сервера (диспетчер конфигурации SQL Server).
Список параметров запуска
Параметры запуска по умолчанию |
Описание | ||
-d master_file_path |
Полный путь к файлу
базы данных master (обычно это C:\Program Files\Microsoft
SQL Server\MSSQL.n\MSSQL\Data\ | ||
-e error_log_path |
Полный путь к файлу
журнала ошибок (обычно это C:\Program Files\Microsoft
SQL Server\MSSQL.n\MSSQL\LOG\ | ||
-l master_log_path |
Полный путь к файлу
журнала базы данных master (обычно это
C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\ | ||
Дополнительные параметры запуска |
Описание | ||
-c |
Ускоряет запуск SQL Server из командной строки. Обычно компонент Компонент SQL Server Database Engine запускается в виде службы путем вызова диспетчера управления службами. Поскольку Компонент SQL Server Database Engine не запускается как служба при запуске из командной строки, используйте параметр -c, чтобы пропустить этот шаг. | ||
-f |
Запускает экземпляр SQL Server
с минимальной конфигурацией. | ||
-gmemory_to_reserve |
Определяет объем памяти в мегабайтах (МБ), которую SQL Server будет оставлять другим приложениям внутри процесса SQL Server, но за пределами пула памяти SQL Server. Память за пределами пула памяти является областью, используемой SQL Server для загрузки элементов, например DLL-файлов расширенных процедур, поставщиков OLE DB, на которые ссылаются распределенные запросы, и объектов автоматизации, на которые ссылаются инструкции Transact-SQL. Значение по умолчанию — 256 МБ. Этот параметр может помочь
при настройке выделения Используйте значение параметра -g по умолчанию, только если в файле журнала ошибок SQL Server не присутствуют следующие предупреждения:
Эти сообщения могут Если используемое значение
меньше значения по умолчанию, объем
памяти, доступной пулу ресурсов, управляемому
диспетчером памяти SQL Server, и стекам
потоков, увеличивается. В свою очередь
увеличивается | ||
-m |
Запускает экземпляр SQL Server в однопользовательском режиме. В этом режиме к экземпляру SQL Server может подключиться только один пользователь, и процесс CHECKPOINT не запускается. Процесс CHECKPOINT гарантирует, что завершенные транзакции будут периодически переписываться из кэша диска на устройство базы данных. Этот параметр применяется обычно при возникновении проблем с системными базами данных, которые необходимо исправить. При использовании этого параметра включается параметр sp_configure allow updates. По умолчанию параметр allow updates отключен. При запуске SQL Server в однопользовательском режиме любой член локальной группы администраторов компьютера может подключиться к экземпляру SQL Server в качестве члена преопределенной роли сервера sysadmin.Дополнительные сведения см. в разделе Подключение к SQL Server в случае, если доступ системных администраторов заблокирован.Дополнительные сведения об однопользовательском режиме см. в разделе Запуск SQL Server в однопользовательском режиме. | ||
-m"Client Application Name" |
Ограничивает соединения
с заданным клиентским приложением,
если параметр -m используется с SQLCMD или Среда SQL Server Management Studio. Например, -m"SQLCMD" р В имени клиентского приложения учитывается регистр символов.
| ||
-n |
Указывает, что не нужно использовать журнал приложений Windows для регистрации событий SQL Server. Если экземпляр SQL Server запускается с параметром -n, рекомендуется также использовать параметр запуска -e. В противном случае события SQL Server не регистрируются в журнале. | ||
-s |
Позволяет запустить именованный
экземпляр SQL Server. Если параметр -s не задан, будет выполнена попытка
запуска экземпляра по умолчанию. Перед
запуском sqlservr.exe необходи | ||
-T trace# |
Указывает, что экземпляр SQL Server фактически должен запускаться с установленным флагом трассировки (trace#). Флаги трассировки используются для запуска сервера в нестандартном режиме. Дополнительные сведения см. в разделе Флаги трассировки (Transact-SQL).
| ||
-x |
Отключает следующие функции наблюдения.
| ||
-E |
Увеличивает число экстентов, выделяемых для каждого файла в файловой группе. Данный параметр может быть полезен для приложений с хранилищами данных, имеющих ограниченное число пользователей, которые запускают индексы или просматривают данные. Его нельзя использовать в других приложениях, так как он может неблагоприятно повлиять на производительность. Данный параметр не поддерживается 32-разрядными выпусками SQL Server. |
Информация о работе Понятие данных, принципы построения информационных систем