Таблица запросов без доступа SELECT - PullRequest
0 голосов
/ 30 апреля 2019

Я работаю в крупной корпорации. У меня нет доступа SELECT к определенной таблице, назовем ее NO_ENTRY. Я могу просмотреть схему NO_ENTRY и меня интересуют только два столбца. Не спрашивая мою базу данных, возможно ли увидеть некоторые или все данные в этих двух столбцах?

Если это актуально, у меня есть доступ SELECT хотя бы к одному представлению, которое ссылается на NO_ENTRY; это просто не имеет столбцы интереса. Возможно, у меня есть доступ SELECT к другим представлениям, в которых есть интересующие столбцы.

Я пытался найти таблицы с похожими источниками данных, но ни одна из них не существует. Можно ли запросить у Teradata список представлений, к которым у меня есть доступ SELECT, и которые ссылаются на два столбца, представляющих интерес в NO_ENTRY?

Если нет, есть ли другие возможные обходные пути для просмотра двух интересующих колонок NO_ENTRY?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

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

Если словарь данных, разработчики моделей данных и администраторы баз данных не хотят помогать, вы можете использовать представления DBC, чтобы увидеть, что вы можете найти. Представления «X» в DBC ограничивают пользователей просмотром только тех объектов, которые они создали или которым было предоставлено разрешение на доступ. Тыкать здесь не должно быть никаких красных флажков. В качестве альтернативы, в зависимости от вашей среды, вы также можете иметь возможность запрашивать не-X представления (используйте те, которые заканчиваются буквой «V» для учета UNICODE и длинных имен объектов).

Если столбцы не являются псевдонимами в определениях представлений, вы можете найти то, что вас интересует, используя DBC.ColumnsV или DBC.ColumnsXV.

SELECT DatabaseName
     , TableName
     , ColumnName
  FROM DBC.ColumnsXV
 WHERE ColumnName = ‘{ColumnName}’
   AND TableName = ‘{ViewName}’
   AND DatabaseName = ‘{DatabaseName}’;

Если в столбцах есть псевдонимы, поиск будет более трудным. Вы можете посмотреть на CreateText или LastAlterText в DBC.TablesXV, используя поиск по шаблону (например, LIKE, POSITION, REGEXP_INSTR и т. Д.).

0 голосов
/ 30 апреля 2019

Нет, разумных возможностей нет.Если администратор БД выставил некоторые поля NO_ENTRY через представление и запретил SELECT для NO_ENTRY, это единственные поля, к которым вы можете получить доступ.Если вам действительно нужен доступ к двум полям, к которым у вас нет текущего доступа, но вам они нужны, просто очень мило спросите администраторов баз данных с разумной причиной, почему вам нужен доступ к этим двум полям.

...