Skip to content

Расширенные атрибуты

Alexandr M.N. edited this page Jun 29, 2015 · 4 revisions

Расширенные атрибуты файловой системы (https://en.wikipedia.org/wiki/Extended_file_attributes) в SQLFuse располагаются в пространстве имён user.sqlfuse.

Расширенные атрибуты используются для отображения:

  • параметров объектов;
  • определений представлений VIEW;
  • привилегий для ролей и пользователей на объекты БД.

Для ознакомления с командами управления расширенными атрибутами для систем стандарта Unix используйте man xattr.

Параметры объектов БД

Доступ к параметрам объектов БД в SQLFuse осуществляется через расширенные атрибуты:

  • object_id - уникальный идентификатор объекта в БД (sys.objects, OBJECT_ID()), для колонки отображается идентификатор таблицы.
  • type - двух символьный код, определяющий тип объекта. Подробнее с типами в SQLFuse ознакомьтесь на wiki-странице Типы объектов.
  • trigger.is_disabled - у триггеров отображает состояние: 1 - отключён, 0 - включён.

Определение представлений VIEW

SQL-определение представлений в SQLFuse представлено через расширенные атрибуты для каталога, который соответствует отображаемому представлению на файловой системе, и находится в ключе viewdef. Для генерирования текста определения используется хранимая процедура EXEC sp_helptext.

Привилегии для ролей и пользователей на объекты БД

Права для ролей и пользователей на объекты БД отображаются с префиксом user.sqlfuse.rights. К префиксу прибавляются наименования пользователей и ролей, сокращенные типы привилегий и состояние.

Так, например, право для пользователя alice на выборку из таблицы Person.Address будет выглядеть следующий образом: user.sqlfuse.rights.alice.G.SL, где G - GRANT, SL - SELECT. Подробнее ознакомиться с привилегиями и используемым сокращениями можно на странице https://technet.microsoft.com/en-us/library/ms188367.aspx .