Вниз
Скачать: CL | DM;

Создатель базы   Найти похожие ветки 

← →
juice ©   (2005-05-16 17:21) [0]

Как узнать имя поьзователя который создал базу данных Firebird ?


← →
juice ©   (2005-05-16 17:22) [1]

Может в IB Expert"e это есть ?


← →
DSKalugin ©   (2005-05-16 18:12) [2]

загляни в скрипт создания, который можно просмотреть ИБЭкспертом и увидишь чтото типа


SET SQL DIALECT 3;

SET NAMES WIN1251;

CREATE DATABASE "P4:C:\ShopDB\isautostar.fdb"
USER "DSKALUGIN" PASSWORD "*********"
PAGE_SIZE 4096
DEFAULT CHARACTER SET WIN1251;



откуда ясно что создатель - я


← →
juice ©   (2005-05-16 18:53) [3]

Сорри, не нахожу такого. ожет у вас версия выше ?


← →
DSKalugin ©   (2005-05-16 19:49) [4]

Версию я сегодня обновил до последней, но не в этом дело
Смотри пункт меню "Инструменты" - "Извлечение метаданных"
все не извлекай, а только скрипт создания БД достаточно в буффер обмена извлеч


← →
Zacho ©   (2005-05-16 19:54) [5]

juice ©   (16.05.05 17:21)

Насколько я знаю, никак. Да и зачем ?
Впрочем, могу и ошибаться.

DSKalugin ©   (16.05.05 18:12) [2]

Это прикол такой что-ли ? Несмешно.


← →
Zacho ©   (2005-05-16 19:55) [6]

DSKalugin ©   (16.05.05 19:49) [4]

Блин, в этом скрипте ты увидишь имя, с которым ты залогинился к базе, а вовсе не имя её создателя.


← →
-SeM-   (2005-05-17 09:50) [7]

2juice

SELECT DISTINCT RDB$USER FROM RDB$USER_PRIVILEGES
WHERE RDB$USER=RDB$GRANTOR AND RDB$RELATION_NAME="RDB$ROLES"


← →
Zacho ©   (2005-05-17 12:55) [8]

-SeM-   (17.05.05 9:50) [7]

Интересное решение, мне даже в голову не пришло. Возьму на заметку.

Любопытно, а могут ли быть случаи, в которых оно окажется не верным ? Естественно, исключая "ручной" апдейт системных таблиц.


← →
-SeM-   (2005-05-17 13:19) [9]

Zacho ©   (17.05.05 12:55) [8]
Этим запросом мы можем получить создателя любой таблицы. В данном случае рассматриваем таблицу RDB$ROLES, которая появляется только при создании базы. Т.е. тот кто создал таблицу - тот и есть создатель базы.
"Ручной" апдейт исключается - попробуй (даже под создателем) изменить поле RDB$GRANTOR - "action cancelled by trigger (0) to preserve data integrity.
cannot modify an existing user privilege". Есть другой вариант?


← →
Johnmen ©   (2005-05-17 13:22) [10]

Да, интересное решение. Респект.
Один момент только (проверять не буду) - после b/r со сменой владельца, что покажет ?


← →
-SeM-   (2005-05-17 13:33) [11]

Johnmen ©   (17.05.05 13:22) [10]
Только что проверил.
Restore под создателем, backup - SYSDBA. Запрос возвращает SYSDBA, что и требовалось доказать :)

ЗЫ Маленькое уточнение - запросом можно узнать создателя не только таблиц, но и просмотров, и ХП.


← →
Johnmen ©   (2005-05-17 13:39) [12]

>-SeM-   (17.05.05 13:33) [11]

Вобщем-то так и д.б. Мой вопрос был несколько глуп, если подумать.
Для не до конца понятной самому себе логике, я бы см. RDB$DATABASE


← →
Zacho ©   (2005-05-17 13:41) [13]

Johnmen ©   (17.05.05 13:39) [12]

А при чём здесь RDB$DATABASE ?


← →
-SeM-   (2005-05-17 13:44) [14]

Johnmen ©   (17.05.05 13:39) [12]

> я бы см. RDB$DATABASE

Ан нет ее там. Из системных только RDB$ROLES, остальные созданные пользователями.


← →
Johnmen ©   (2005-05-17 14:29) [15]

Да. Интересное "явление"...
Хотя, опять же, слегка подумав, можно примерно понять, почему.


← →
-SeM-   (2005-05-17 15:34) [16]

Есть дыра :(
Таблица RDB$USER_PRIVILEGES не дает себя редактировать, но можно добавлять, удалять записи и после таких манипуляций мой совет может дать не верный ответ. Увы...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.023 c
4-1114344510
Максим
2005-04-24 16:08
2005.06.29
USB on/off


1-1118310092
_BasiL_
2005-06-09 13:41
2005.06.29
Нить и ЦП


14-1117292547
sasha86
2005-05-28 19:02
2005.06.29
Рекомендуемые видео ролики


1-1117972531
Серый
2005-06-05 15:55
2005.06.29
Как построить бинарное дерево с помощью "Тривиев"


1-1118096582
Gopher
2005-06-07 02:23
2005.06.29
команда GetWindowsDir




   Наверх