Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Базы";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.138 c
1-1118081903
Серёга
2005-06-06 22:18
2005.06.29
Ошибка EOleSysError


14-1117813503
dDan
2005-06-03 19:45
2005.06.29
Doorway pages


1-1118068149
Alex17
2005-06-06 18:29
2005.06.29
Дозвон до провайдера


1-1117798590
Николай
2005-06-03 15:36
2005.06.29
Удаление записей помеченных на удаление из базы


14-1117751148
Yegorchic
2005-06-03 02:25
2005.06.29
Болгария или Чехия?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский