Вопрос 1. Системные базы данных SQL Server 2000.
Добавил: | DMT |
Дата создания: | 30 декабря 2007, 19:14 |
Дата обновления: | 31 января 2008, 12:41 |
Просмотров: | 7587 последний сегодня, 4:52 |
Комментариев: | 1 |
Вопрос 1. Системные базы данных SQL Server 2000. |
Комментарии для "Вопрос 1. Системные базы данных SQL Server 2000."
Пользователь: doriangray_rus Сообщений: 13 Статус: Незримый Зарегистрирован: 6 января 2008, 18:12 Был:21 января 2008, 0:29 | Дата: 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. |