|
(По материалам статьи Krishnan M Kaniappan на swynk.com «System Databases and Tables») Когда Вы устанавливаете SQL Server 7.0, автоматически
создается четыре системные базы данных и две пользовательские
базы Pubs и Northwind. Четыре системные базы данных играют
жизненно важную роль для SQL Server - Master, Model, Msdb и
Tempdb. База данных Master:
Эта база данных хранит всю критическую для сервера информацию о конфигурации, учётных записях пользователей, запускаемых процессах, сообщениях об ошибках, системных хранимых процедурах, расположении главных файлов баз данных и т.д. При её повреждении, Вы можете использовать утилиту rebuildm.exe, которая восстанавливает базу Master и затем восстановить пользовательские базы. Старайтесь всегда иметь актуальную копию системной базы данных Master. Содержащиеся в ней системные таблицы можно разбить по следующим категориям:
Дополнительную информацию об этих таблицах можно найти в BOOKS ONLINE. База данных Model: Эта база данных используется, как шаблон для новых баз данных то есть, всякий раз, когда Вы создаете новую базу данных, объекты в этой базе данных копируется в новую базу данных. Например, если Вы создаете новую базу данных <db name> без указания её размера, SQL создаст её с размер Model, то есть 0.75 МБ и скопирует все объекты из образцовой базы в новую базу данных. Если Вы хотите исполнить некоторые схожие действия для всех вновь создаваемых пользовательских базах данных, Вы можете включать необходимые объекты, таблицы, процедуры и т. п. в Model, и тогда, каждая новая база данных также будет их содержать. Ниже представлены некоторые часто встречающиеся действия, выполняемые в базе данных Model:
Далее представлен упорядоченный по группам список системных таблиц MODEL:
Дополнительную информацию об этих таблицах можно найти в BOOKS ONLINE. База данных Msdb: Это одна из важных системных баз данных SQL, обеспечивающая его управление и обслуживание. База данных Msdb содержит задания (task-scheduling), обработку исключений, аварийное управление и информацию об операторах системы, то есть содержит информацию для всех операторов об их адресах электронной почты или номерах пейджера, а также информацию об истории по всем сеансам резервного копирования или восстановления баз данных. Системные таблицы базы MSDB можно разбить по категориям следующим образом:
Дополнительную информацию об этих таблицах можно найти в BOOKS ONLINE. База данных Tempdb: Следуя своему названию, эта база данных хранит все
временные таблицы и промежуточные результаты group by, order
by, distinct clause и т.д. Временные данные хранятся в Tempdb,
пока хоть один пользователь подключён к SQL серверу. Все
временные данные и таблицы будут уничтожены после отключения
последнего пользователя от SQL сервера. Все глобальные
переменные потеряют свои значения после перезагрузки SQL
сервера или при его крахе. Tempdb автоматически расширяется
после запуска сервера с 8.0 МБ для данных и 0.5 MB для
журнала транзакций. Это происходит потому, что Tempdb
создаётся каждый раз заново при запуске SQL сервера. Причём
обязательно в системе должна существовать база данных
MODEL. Обратите внимание: Вы не должны изменить значения непосредственно в system tables, тем более, если Вы не знаете архитектуру всех системных таблиц. Микрософт рекомендует не изменить system tables непосредственно, а установить нужные значения через системные хранимые процедуры, использующиеся для управления system tables посредством запросов T-SQL. В таком случае, Вы будете менять необходимые значения и параметры через представления (view), что существенно снизит риск краха SQL сервера из-за нарушения целостности информации в system tables. Хотя не существует ни каких ограничений на использование системных таблиц и Вы можете с ними работать, как и с таблицами в пользовательских базах данных. Существенным является также то, что system tables зависят от внутренней архитектуры SQL сервера и могут изменяться в последующих выпусках. Поэтому всегда предпочтительно не изменить значения непосредственно через system tables.
Сайт управляется системой uCoz
|