Вопрос 1. Системные базы данных SQL Server 2000.


Добавил:DMT
Дата создания:30 декабря 2007, 19:14
Дата обновления:31 января 2008, 12:41
Просмотров:7525 последний сегодня, 13:24
Комментариев: 1
Вопрос 1. Системные базы данных SQL Server 2000.
up

Комментарии для "Вопрос 1. Системные базы данных SQL Server 2000."


Пользователь: doriangray_rus
Сообщений: 13
Статус: Незримый
Зарегистрирован:
6 января 2008, 18:12
Был:21 января 2008, 0:29
doriangray_rus
smsup
Дата: 11 января 2008, 23:12 Сообщение № 1
Когда Вы устанавливаете SQL Server 7.0, автоматически создается четыре системные базы данных и две пользовательские базы Pubs и Northwind. Четыре системные базы данных играют жизненно важную роль для SQL Server - Master, Model, Msdb и Tempdb.

База данных Master:
Эта база данных хранит всю критическую для сервера информацию о конфигурации, учётных записях пользователей, запускаемых процессах, сообщениях об ошибках, системных хранимых процедурах, расположении главных файлов баз данных и т.д. При её повреждении, Вы можете использовать утилиту rebuildm.exe, которая восстанавливает базу Master и затем восстановить пользовательские базы. Старайтесь всегда иметь актуальную копию системной
базы данных Master. Содержащиеся в ней системные таблицы можно разбить по следующим категориям:

REMOTE
SERVICES ACTIVE USER
PROCESSES CURSORS

sysservers sysprocesses syscursorcolumns
sysremotelogins syslockinfo syscursortables
sysoledbusers syslocks syscursors
syslogins

CONFIGURATION STORAGE OTHERS
sysconfigures sysdevices syslanguages
syscurconfigs sysaltfiles sysmessages
syscurconfigs
sysdatabases
syscacheobjects
syscharsets

База данных Model:
Эта база данных используется, как шаблон для новых баз данных то есть, всякий раз, когда Вы создаете новую базу данных, объекты в этой базе данных копируется в новую базу данных. Например, если Вы создаете новую базу данных <db name> без указания её размера, SQL создаст её с размер Model, то есть 0.75 МБ и скопирует все объекты из образцовой базы в новую базу данных. Если Вы хотите исполнить некоторые схожие действия для всех вновь создаваемых пользовательских базах данных, Вы можете включать необходимые объекты, таблицы, процедуры и т. п. в Model, и тогда, каждая новая база данных также будет их содержать.
Ниже представлены некоторые часто встречающиеся действия, выполняемые в базе данных Model:
• Включение определяемого пользователем типа данных, constraints, rules или defaults;
• Включение пользователей, имеющих разрешения на всех базах данных;
• Установка конфигурации базы данных по умолчанию и т.д.;
Далее представлен упорядоченный по группам список системных таблиц MODEL:
USERS
& PERMISSIONS OBJECTS REFERENTIAL
INTEGRITY STORAGE

sysmembers sysfulltextcatalogs sysforeignkeys sysfiles1
sysprotects syscomments sysreferences sysfilegroups
sysusers sysobjects sysindexkeys sysfiles
syspermissions sysdepends sysallocations
sysconstraints
sysindexes
syscolumns
systypes

База данных Msdb:
Это одна из важных системных баз данных SQL, обеспечивающая его управление и обслуживание. База данных Msdb содержит задания (task-scheduling), обработку исключений, аварийное управление и информацию об операторах системы, то есть содержит информацию для всех операторов об их адресах электронной почты или номерах пейджера, а также информацию об истории по всем сеансам резервного копирования или восстановления баз данных.
Системные таблицы базы MSDB можно разбить по категориям следующим образом:
BACKUP SQL SERVER
AGENT DTS DATABASE
MAINTENANCE

backupset sysalerts sysdtspackages sysdbmaintplans
backupfile sysnotifications sysdtscategories sysdbmaintplan_databases
backupmediaset sysoperators sysdbmaintplan_history
backupmediafamily sysjobhistory sysdbmaintplan_jobs
restorehistory sysjobsteps
restorefilegroup syscategories
restorefile systaskids
sysjobs
sysjobschedules
sysdownloadlist
systargetservergroups
systargetservergroupmembers
systargetservers
sysjobservers

База данных Tempdb:
Следуя своему названию, эта база данных хранит все временные таблицы и промежуточные результаты group by, order by, distinct clause и т.д. Временные данные хранятся в Tempdb, пока хоть один пользователь подключён к SQL серверу. Все временные данные и таблицы будут уничтожены после отключения последнего пользователя от SQL сервера. Все глобальные переменные потеряют свои значения после перезагрузки SQL сервера или при его крахе. Tempdb автоматически расширяется после запуска сервера с 8.0 МБ для данных и 0.5 MB для журнала транзакций. Это происходит потому, что Tempdb создаётся каждый раз заново при запуске SQL сервера. Причём обязательно в системе должна существовать база данных MODEL.
В отличие от более ранних версий SQL Server, базы данных не хранятся в специализированных устройствах (devices), а запасены непосредственно в файлах, которые могут расти независимо от друг друга. Теперь нет никаких ограничений на размещение Master и Model в отдельном файле (то есть устройство Master для более ранних версий) который иногда создавал проблемы со свободным местом. В SQL Server 7.0 Вы не встретите таких проблем, потому что все базы данных могут размещаться в собственных наборах файлов, которые могут расти независимо друг от друга.
Обратите внимание: Вы не должны изменить значения непосредственно в system tables, тем более, если Вы не знаете архитектуру всех системных таблиц. Микрософт рекомендует не изменить system tables непосредственно, а установить нужные значения через системные хранимые процедуры, использующиеся для управления system tables посредством запросов T-SQL. В таком случае, Вы будете менять необходимые значения и параметры через представления (view), что существенно снизит риск краха SQL сервера из-за нарушения целостности информации в system tables. Хотя не существует ни каких ограничений на использование системных таблиц и Вы можете с ними работать, как и с таблицами в пользовательских базах данных. Существенным является также то, что system tables зависят от внутренней архитектуры SQL сервера и могут изменяться в последующих выпусках. Поэтому всегда предпочтительно не изменить значения непосредственно через system tables.