Какие сведения хранятся в системном каталоге
Перейти к содержимому

Какие сведения хранятся в системном каталоге

  • автор:

Системный каталог

состоит из таблиц, описывающих структуру объектов базы данных, таких как базовые таблицы, представления, индексы и собственно базы данных. Эти таблицы называются системными базовыми таблицами. Компонент Database Engine часто обращается к системному каталогу за информацией, необходимой для правильного функционирования системы.

Компонент Database Engine отличает системные базовые таблицы базы данных master от базовых таблиц пользовательских баз данных. Системные таблицы базы данных master принадлежат к системному каталогу, а системные таблицы определенной базы данных составляют каталог этой базы данных. Поэтому системные базовые таблицы присутствуют только в одном экземпляре для всей системы (если они принадлежат исключительно к базе данных master), тогда как другие таблицы присутствуют в одном экземпляре в каждой базе данных, включая базу данных master.

Во всех реляционных системах баз данных системные базовые таблицы имеют такую же логическую структуру, как и базовые таблицы. Поэтому информацию из системных базовых таблиц можно извлекать посредством таких же инструкций Transact-SQL, какие применяются для извлечения информации из базовых таблиц. При этом к системным базовым таблицам нельзя обращаться напрямую. Для этого необходимо выполнять запрос на информацию из системного каталога посредством существующих интерфейсов.

Для обращения за информацией к системным базовым таблицам можно использовать несколько разных интерфейсов:

Представления каталогов

Является основным интерфейсом для метаданных, хранящихся в системных базовых таблицах. Метаданные описывают атрибуты объектов в системе баз данных.

DMV и DMF

Динамические административные представления (Dynamic Management Views, DMV) и динамические административные функции (Dynamic Management Functions, DMF) обычно применяются для просмотра активных процессов и содержимого памяти.

Информационная схема

Стандартное решение для доступа к метаданным, которое предоставляет общий интерфейс не только для компонента Database Engine, но и для всех существующих реляционных систем баз данных (при условии, что конкретная система поддерживает информационную схему).

Системные функции и функции свойств

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

Системные хранимые процедуры

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

Упрощенная форма системной информации компонента Database Engine и различные интерфейсы для доступа к ней показаны на рисунке ниже:

 Графическое представление разных интерфейсов для доступа к системному каталогу

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

«Общие» означает, что все реляционные системы баз данных поддерживают такие интерфейсы, но используют другую терминологию. Например, в терминологии Oracle, представления каталога и динамические административные представления называются «представления словаря данных» и «представления V$» соответственно.

Общие интерфейсы

Как уже упоминалось, к общим относятся следующие интерфейсы:

динамические административные представления и динамические административные функции;

Представления каталога

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

Представление каталога sys.objects возвращает строку для каждого объекта, определенного пользователем в схеме пользователя. Существуют два других представления каталога, которые предоставляют доступ к подобной информации: sys.system_objects и sys.all_objects. Представление sys.system_objects возвращает строку для каждого системного объекта, а представление sys.all_objects отображает объединение всех определенных пользователем и системных объектов в области видимости схемы. (Все три представления каталога имеют одинаковую структуру.)

Наиболее важные столбцы представления каталога sys.objects перечислены в таблице ниже:

Идентификационный номер объекта, однозначный в пределах базы данных

Идентификатор схемы, содержащей объект

Представление каталога sys.columns возвращает строку для каждого столбца объектов со столбцами, таких как таблицы и представления. Наиболее важные столбцы представления каталога sys.columns перечислены в таблице ниже:

Идентификатор объекта, которому принадлежит данный столбец

Идентификатор столбца (однозначный в пределах объекта)

Представление каталога sys.database_principals возвращает строку для каждого принципала системы безопасности (т.е. пользователя, группы или роли в базе данных).

В SQL Server 2012 продолжают поддерживаться так называемые представления совместимости с целью обеспечения обратной совместимости. Каждое представление совместимости имеет такое же имя и такую же структуру, как и соответствующая системная базовая таблица системы SQL Server 2000. Представления совместимости не предоставляют доступ к метаданным, связанным с возможностями, введенными, начиная с версии SQL Server 2005. Эти представления являются устаревшей возможностью и будут изъяты из будущих версий SQL Server.

Запросы к представлениям каталога

Как уже упоминалось ранее, все системные таблицы имеют такую же структуру, как и базовые таблицы. Поскольку к системным таблицам нельзя обращаться напрямую, необходимо выполнять запросы к представлениям каталога, соответствующим требуемым системным таблицам. В примерах ниже показано получение информации об объектах баз данных, используя существующие представления каталога:

В этом примере происходит выборка идентификатора таблицы, идентификатора пользователя и типа таблицы для таблицы Employee. Результат исполнения этого запроса:

Получение системных данных для таблицы Employee

В столбце object_id представления каталога sys.objects отображается однозначный идентификационный номер соответствующего объекта базы данных. Значение NULL в столбце principal_id указывает, что владелец данного объекта тот же самый, что и владелец схемы. Значение и в столбце type означает пользовательскую таблицу (U — от англ. user, пользователь).

В этом примере происходит выборка имен всех таблиц базы данных SampleDb, которые содержат столбец Number.

В этом примере мы определяем схему, которой принадлежит таблица Employee.

Динамические административные представления и функции

Динамические административные представления (Dynamic Management Views, DMV) и динамические административные функции (Dynamic Management Functions, DMF) возвращают информацию о состоянии сервера, которую можно применить для наблюдения над активными процессами и, следственно, для настройки производительности системы или для отслеживания действительного состояния системы. В отличие от представлений каталога, DMV и DMF основаны на внутренних структурах системы.

Основное различие между представлениями каталога и DMV состоит в их применении: представления каталога предоставляют информацию о метаданных, тогда как DMV и DMF применяются для доступа к динамическим свойствам системы. Иными словами, DMV применяются для получения информации о базе данных, об отдельных запросах или отдельных пользователях.

DMV и DMF принадлежат к схеме sys, а их имена состоят из префикса dm_ и текстовой строки, указывающей категорию, к которой принадлежит DMV или DMF.

В следующем списке перечислены некоторые из этих категорий и даны их краткие описания:

sys.dm_db_* — возвращает информацию о базах данных и их объектах;

sys.dm_tran_* — возвращает информацию, имеющую отношение к транзакциям;

sys.dm_io_* — возвращает информацию о действиях по вводу/выводу;

sys.dm_exec_* — возвращает информацию, связанную с исполнением пользовательского кода.

В каждой новой версии SQL Server корпорация Microsoft непрерывно увеличивает количество поддерживаемых DMV. Так SQL Server 2012 содержит 20 новых DMV, а их общее число равно 155.

В этом разделе рассматриваются два новых DMV. Представление sys.dm_exec_describe_first_result_set описывает первый результирующий набор группы результирующих наборов. Поэтому DMV можно использовать при объявлении нескольких последовательных запросов в пакете или хранимой процедуре.

Результат выполнения этого запроса:

Использование системного представления dm_exec_describe_first_result_set

Процедура, сохраненная в примере, содержит две инструкции SELECT, осуществляющих выборку из базы данных SampleDb. Последующий запрос отображает несколько свойств из результата первого запроса, используя для этого представление sys.dm_exec_describe_first_result_set.

Представление sys.dm_db_uncontained_entities отображает все неограниченные объекты, используемые в базе данных. Неограниченными объектами (uncontained objects) называются объекты, которые пересекают границы приложения в автономной базе данных.

Информационная схема

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

Информационная схема была впервые представлена в стандарте SQL92. Компонент Database Engine отображает представления информационной схемы, чтобы разработанные на других системах баз данных приложения смогли получить свой системный каталог, не используя его прямым образом. Эти стандартные представления используют разную терминологию, поэтому при использовании имен столбцов имейте в виду, что «каталог» является синонимом базы данных, а «домен» — синонимом пользовательского типа данных.

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

Представление information_schema.tables

Представление information_schema.tables возвращает одну строку для каждой таблицы в текущей базе данных, к которой пользователь имеет доступ. Это представление извлекает информацию из системного каталога, используя представление каталога sys.objects. В таблице ниже дано описание четырех столбцов этого представления:

Имя каталога (базы данных), к которому принадлежит представление

Имя схемы, к которой принадлежит представление

Тип таблицы (может быть base table или view)

Представление information_schema.columns

Представление information_schema.columns возвращает одну строку для каждого столбца, доступного текущему пользователю в текущей базе данных. Это представление извлекает информацию из системного каталога, используя представления каталога sys.columns и sys.objects. В таблице ниже приведено описание шести наиболее важных столбцов этого представления:

Имя каталога (базы данных), к которому принадлежит столбец

Имя схемы, к которой принадлежит столбец

Имя таблицы, к которой принадлежит столбец

Номер по порядку столбца

Тип данных столбца

Специализированные интерфейсы

В предшествующем разделе мы рассмотрели получение доступа к системным базовым таблицам, используя общие интерфейсы. Но системную информацию можно также получить, используя один из следующих специализированных механизмов компонента Database Engine:

системные хранимые процедуры;

Эти интерфейсы рассматриваются в последующих подразделах.

Системные хранимые процедуры

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

Наиболее важным свойством системных хранимых процедур является предоставляемая ими возможность легко и надежно модифицировать системные базовые таблицы. В этом разделе рассматриваются две системные хранимые процедуры: sp_help и sp_configure. Некоторые из системных хранимых процедур обсуждались в предыдущих статьях с соответствующей тематикой.

Системная процедура sp_help возвращает сведения об объектах базы данных. Параметром для этой процедуры может служить имя любого объекта базы данных или типа данных. При выполнении процедуры sp_help без параметра она возвращает информацию обо всех объектах текущей базы данных.

Хранимая системная процедура sp_configure возвращает или изменяет глобальные конфигурационные параметры текущего сервера. В примере ниже показано использование системной процедуры sp_configure:

Обычно, доступ к дополнительным конфигурационным опциям SQL Server не разрешен. Поэтому первая инструкция EXECUTE в примере дает указание системе разрешить изменения дополнительных параметров. Следующая инструкция, RECONFIGURE WITH OVERRIDE, устанавливает это разрешение. Теперь можно изменять значения дополнительных параметров. В примере параметру fill factor присваивается значение 100 (инструкция EXEC), после чего выполняется установка этого изменения (инструкция RECONFIGURE). (Параметр fill factor указывает объем хранилища в процентах для страниц индексов.)

Системные функции

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

В этом примере вторая инструкция SELECT возвращает идентификатор таблицы Employee, используя системную функцию object_id. (Полученную информацию можно сохранить в переменной и применить в качестве параметра при вызове команды или системной хранимой процедуры.)

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

Функции свойств

Функции свойств возвращают свойства объектов баз данных, типов данных и файлов. Обычно функции свойств могут возвратить больше информации, чем системные функции, т.к. функции свойств поддерживают десятки свойств (в виде параметров), которые можно явно указывать.

Почти все функции свойств возвращают одно из следующих значений: 0, 1 или NULL. Возвращение функцией свойств значения 0 означает, что объект не обладает данным свойством. Возвращение функцией свойств значения 1 означает, что объект обладает данным свойством. А возвращение значения NULL означает, что системе неизвестно, обладает ли данный объект указанным свойством.

Компонент Database Engine поддерживает, среди прочих, следующие функции свойств:

OBJECTPROPERTY (id, property)

COLUMNPROPERTY (id, column, property)

FILEPROPERTY (filename, property)

TYPEPROPERTY (type, property)

Функция objectProperty возвращает информацию об объектах текущей базы данных. Функция columnProperty возвращает информацию о столбце или о параметре процедуры. Функция fileProperty возвращает значение указанного свойства для заданного имени файла. Функция typeProperty возвращает информацию о типе данных. (Описание поддерживаемых свойств для всех функций свойств смотрите в электронной документации.)

Назначение

Скрытые системные папки и файлы являются составляющими элементами операционной системы. Изменение, перемещение или стирание некоторых из этих элементов выводит из строя операционную систему. Это является причиной того, что от пользователей они по умолчанию скрыты.

PerfLogs

Perflogs

На системном разделе «десятки» располагается много директорий, о назначение которых начинающие пользователи могут даже не догадываться. PerfLogs — одна из таких директорий.

Из статьи «Что за папка PerfLogs», вы узнаете, что собой представляет этот каталог, и какая информация в нем находится. В материале также рассматривается, влечет ли какие-либо последствия для системы удаление этого каталога.

AppData

В данной директории хранятся все данные об установленном ПО. В публикации представлена информация о том «Где находится AppData папка», а также описаны способы, с помощью которых ее можно найти и открыть на вашем ПК.

Из статьи вы узнаете, что находится в этом каталоги, как его чистить и можно ли удалить.

WindowsApps

Папка WindowsApps

Если вам по каким-либо причинам необходимо открыть данную категорию, следуйте инструкции, приведенной в статье «Что это за папка WindowsApps».

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

Rempl

Эта директория появляется в системе, в процессе ее обновления. Узнайте из публикации «Что это за папка Rempl», для чего предназначена сама директория и привязанные к ней программы.

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

SysWOW64

SysWOW64

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

В статье «Что это за папка SysWOW64» рассматривается ее местоположение, назначение и возможность удаления.

Inetpub

В статье идет речь о том, для чего нужна эта директория. Прочтите, можно ли ее удалить, и как это сделать.

В публикации «Что за папка Inetpub» предложен подробный алгоритм, следуя которому, вы сможете избежать негативных последствий для вашей операционной системы.

Desktop

Папка рабочий стол

Это директория, которая иначе называется рабочий стол или Десктоп. Это то пространство, которые вы видите, когда включаете ПК. На нем находится иконки большинства инсталлированных на него программ.

Этот каталог больше всего засоряется в процессе использования системы. Если вас волнует «Где находится папка Desktop» на диске С и как ее найти, ответы на эти вопросы вы найдете в публикации.

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

Из статьи вы узнаете местоположение каталогов с временными файлами. Их всего три. Как открыть третий каталог и удалить его содержимое, читайте в предложенном материале «Где находится папка Temp».

System Volume Information

Папка System Volume Information

Директория находится в накопителях операционной системы. Но многие пользователи не знают, для чего она предназначена.

Если вы относитесь к их числу, узнайте из статьи «Что за папка System Volume Information», о назначении папки, возможности ее удаления и способах очистки. Следуя предложенному алгоритму, вы сможете скрыть отображение защищенных системных папок.

Папка Installer занимает много места

Иногда данная директория доставляет пользователям много проблем, из-за своего объема. В статье «Что делать если папка Installer занимает много места», вы сможете прочитать о том, что собой представляет эта папка и допустимо ли ее удаление. Также, следуя алгоритму, вы сможете очистить ее с помощью бесплатной программы PatchCleaner и узнать, как перенести на другой диск.

Что такое системный каталог? — определение из техопедии

Системный каталог — это группа таблиц и представлений, которые содержат важные сведения о базе данных. Каждая база данных, состоящая из системного каталога и информации в системном каталоге, определяет структуру базы данных.

Например, язык словаря данных (DDL) для каждой таблицы в базе данных сохраняется в системном каталоге.

Techopedia объясняет системный каталог

  • Другие объекты, включенные в базу данных
  • Сама структура базы данных
  • Несколько других важных частей информации

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

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

Что такое системный каталог? - определение из техопедии

Сила внушения: как каталог данных расширяет возможности аналитиков

Сила внушения: как каталог данных расширяет возможности аналитиков

Что такое разрастание сервера и что я могу с этим сделать?

Что такое разрастание сервера и что я могу с этим сделать?

Должность: системный аналитик

Должность: системный аналитик

Системные аналитики могут носить много шляп, и они жизненно важны для любой современной фирмы. Посмотрите, что включает в себя роль и как системные аналитики поддерживают работу бизнеса.

Файлы, каталоги и папки в Linux. Структура файловой системы

В операционной системе Linux файловая система отличается организованной структурой. Если вы только перешли с Windows, вы можете столкнуться с некоторыми затруднениями, во многом из-за отсутствия чёткого понимания о принадлежности каждой директории. В данной статье будет рассмотрена структура файловой системы, в результате чего смысл применения большинства папок в Linux директории (directory) станет вам ясен.

В первую очередь, обратите внимание на следующую таблицу ниже:

slide_38-1801-9a9c85.jpg

Теперь следует разобрать всё более подробно.

/ — корень

Главный каталог в системе. Здесь нет дисков, как в Виндовс. По большему счёту, это и есть файловая система Линукс. Адреса всех существующих файлов начинаются с корневой директории Linux, а дополнительные разделы подключаются к папкам корневого каталога.

Читать или менять содержимое в данном каталоге может лишь root-пользователь (user). Домашний каталог пользователя root — /root.

/bin — бинарные файлы пользователя

Содержит файлы исполняемого типа. Программы, с которыми можно работать в однопользовательском режиме и прочие утилиты, которые применяются, пока не подключён каталог /usr/.

/sbin — системные исполняемые файлы

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

В этой папке Linux расположены конфигурационные файлы всех программ, которые установлены в системе. Также есть скрипты для запуска демонов, автозагрузки программ и т. п. Главное, что следует запомнить, — речь идёт о файлах по настройке и конфигурации.

/dev — файлы устройств

Как вы знаете, в операционной системе Linux «всё есть файл». И различные внешние устройства тоже. В результате, любые подключённые микрофоны, клавиатуры, флешки и т. п. — это лишь файлы, которые находятся в каталоге /dev.

/proc — информация о процессах

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

/var — переменные файлы

Речь идёт о файлах, которые часто меняются — это базы данных, кеши, системные журналы и пр. Следует подробнее рассмотреть каталог Linux из папки /var/: • /var/log — файлы логов; • /var/lib — базы данных; • /var/lock — файлы блокировок; • /var/mail — почта; • /var/spool — принтер, печать; • /var/run — pid процессов.

В данном каталоге располагаются временные файлы, которые созданы пользователями (users), программами или системой. Любой пользователь имеет права записи в данную директорию. При перезагрузке компьютера они удаляются.

/usr — программы пользователя

Этот каталог является самым большим и имеет много функций. Вкратце рассмотрим его структуру: • /usr/bin/ — исполняемые файлы (графические редакторы, браузеры, плееры — не используются при загрузке системы); • /usr/sbin/ — бинарные файлы программ, предназначенных для системного администрирования (выполняются с правами суперпользователя); • /usr/lib/ — библиотеки для программ из /usr/sbin либо /usr/bin; • /usr/local — файлы пользователя (программы, библиотеки и настройки, созданные пользователем).

/home — домашняя папка

Linux директория пользователей, где содержатся домашние каталоги всех пользователей. В данных каталогах пользователи хранят личные файлы, программные настройки и пр. Аналогия с Windows — папка на диске C. Но тут есть разница: home располагается на отдельном разделе, в результате чего при переустановке системы все данные и настройки сохраняются.

/boot — файлы загрузчика

Linux директория, где содержатся файлы, связанных с загрузчиком системы (ядро vmlinuz, образ initrd и пр.).

/lib — системные библиотеки

Тут располагаются файлы системных библиотек.

/opt — дополнительные программы

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

/mnt — монтирование

Сюда сисадмины монтируют внешние либо дополнительные файловые системы Linux.

/media — съемные носители

Монтируются подключаемые внешние накопители — оптические диски, USB-устройства.

/srv — сервер

Файлы сервисов и серверов. Как пример — web-сервер Apache.

/run — процессы

Каталог включает в себя PID-файлы процессов, однако в отличие от /var/run, он располагается в TMPFS, в результате чего всё удаляется после перезагрузки.

/sys — информация о системе

Каталоги Linux в этой папке предназначены для получения информации от ядра о системе. По сути, речь идёт о файловой системе, организованной ядром и позволяющей просматривать и менять множество параметров системной работы, ту же работу swap и много чего ещё.

Пожалуй, этого достаточно для общего понимания файловой системы и структуры папок в Linux. Более профессиональную информацию всегда можно получить на нашем курсе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *