Вниз
Скачать: 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.03 c
1-1118220779
zorik
2005-06-08 12:52
2005.06.29
Экспорт в Excel


14-1117212894
тихий вовочка
2005-05-27 20:54
2005.06.29
Вроде нашел нормальную вакансию, а тут срам


14-1117663700
KilkennyCat
2005-06-02 02:08
2005.06.29
город Заполярный, моя родина, блин...


14-1117802870
syte_ser78
2005-06-03 16:47
2005.06.29
NOD 32


14-1117465281
HBreaker
2005-05-30 19:01
2005.06.29
Как вывести строчку на принтер использую assembler и прерывания




   Наверх