0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 4
1

При тестовом восстановлении база "забывает" юзеров

29.08.2012, 12:20. Показов 1490. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, у меня такой вопрос. Пользуюсь Firebird 2.5, до резервного копирования имеется два юзера - SYSDBA и NAME. При успешном тестовом восстановлении использую восстановленную базу, но там остается один SYSDBA, почему так? Как поправить?

Добавлено через 38 минут
Оказалось, что юзеры в базе присутствуют, но подключиться к ней можно только от SYSDBA.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2012, 12:20
Ответы с готовыми решениями:

База зависла на восстановлении
Всем привет! Нужно было сделать копию БД. Была база "base". Сделал бэкап в .bak. Нажал...

Два сайта и одна база юзеров
Есть два сайта , есть БД всё на хостинге весит . Вот думаю возможно сделать к примеру так чтобы...

Ошибка при тестовом соединении
Пытаюсь установить тестовое соединение с бд оракл, выходит ошибка : Test connection failed...

C++, iostream: Ошибка при тестовом приложении
Короче, решил я в каком-то IDE создать проект "Hello, world" (Буду делать консольное приложение)....

7
912 / 877 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
29.08.2012, 13:10 2
Пользователи не хранятся в базе, а следовательно и не бекапятся/восстанавливаются с ней. Они живут на сервере (установке Firebird на данном конкретном компьютере).
В базе живут лишь права для пользователей.

Если вы переносите базу на др. компьютер, пользователей придется создавать заново.
А если при этом дадите им имена, идентичные старым, то их права в базе подхватятся автоматом.
1
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 4
29.08.2012, 13:55  [ТС] 3
Пока не работает корректно, все проделываю на одном компьютере, так что проблема, скорее, не в этом. На всякий случай, сразу привожу код бат-файла, который запускает весь процесс.


:: ОСТАНОВКА БАЗЫ ДАННЫХ

"C:\program files\Firebird_2_5\bin\gfix" -shut -force 0 -user sysdba -pa masterkey "%baseset%%nameset%"


:: _____СОЗДАНИЕ РЕЗЕРВНОЙ КОПИИ БАЗЫ ДАННЫХ, СОХРАНЕНИЕ ЛОГА В ПАПКУ С РЕЗЕРВНОЙ КОПИЕЙ БАЗЫ

"c:\program files\Firebird_2_5\bin\gbak" -b -user sysdba -pass masterkey -y "%resset%%DATE%log" "%baseset%%nameset%" "%resset%%resnameset%"


:: _____ТЕСТОВОЕ ВОССТАНОВЛЕНИЕ БАЗЫ ДАННЫХ

"c:\program files\Firebird_2_5\bin\gbak" -c -user sysdba -pass masterkey -y "%recset%%DATE%log" "%resset%%resnameset%" "%recset%%nameset%"


:: _____ПРОВЕРКА УСПЕШНОСТИ ВОССТАНОВЛЕНИЯ БАЗЫ ДАННЫХ

if exist "%recset%%nameset%" goto success
if not exist "%recset%%nameset%" goto failure


:success

ren "%baseset%%nameset%" %DATE%.fdb
move "%recset%%nameset%" "%baseset%"

:: _____РЕЗЕРВНЫЕ КОПИИ БАЗ ДАННЫХ СТАРШЕ ПОЛУГОДА УДАЛЯЮТСЯ (при еженедельном резервном копировании, за полгода накапливается 24 копии)

for /f "skip=24 delims==" %%i in ('dir "%resset%*.fbk" /b /a:-d /o:-d') do del /f /q "%resset%%%i"


:: _____ЗАПУСК БАЗЫ ДАННЫХ

"C:\program files\Firebird_2_5\bin\gfix" -online -user sysdba -pa masterkey "%baseset%%nameset%"

echo ТЕСТОВОЕ ВОССТАНОВЛЕНИЕ ПРОШЛО УСПЕШНО
pause
exit


:: _____В СЛУЧАЕ НЕУДАЧИ ВОССТАНОВЛЕНИЯ БАЗЫ

:failure
echo ПРОИЗОШЕЛ СБОЙ ПРИ ТЕСТОВОМ ВОССТАНОВЛЕНИИ БАЗЫ, НЕМЕДЛЕННО СВЯЖИТЕСЬ С АДМИНИСТРАТОРОМ
pause
0
912 / 877 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
29.08.2012, 16:07 4
вот этот участок у вас "проблемный"
Код
:: _____ПРОВЕРКА УСПЕШНОСТИ ВОССТАНОВЛЕНИЯ БАЗЫ ДАННЫХ

 if exist "%recset%%nameset%" goto success 
 if not exist "%recset%%nameset%" goto failure
судить об успешности b/r по наличию файла - все равно, что судить о здоровье человека по факту наличия его тела, а то что оно может быть без головы, или с температурой -25*С - считать несущественным.

по сабжу мыслей нет.
как выясняете, что в новой базе юзер "NAME" потерялся?
1
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 4
29.08.2012, 16:13  [ТС] 5
Цитата Сообщение от arni Посмотреть сообщение
как выясняете, что в новой базе юзер "NAME" потерялся?
Не могу подключиться к базе от пользователя NAME после тестового восстановления. Хотя до этого можно подключиться без проблем. После же - только SYSDBA.
По поводу exist, not exist - здесь еще предстоит поработать, да
0
912 / 877 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
29.08.2012, 17:14 6
возможно точное сообщение об ошибке при сбое логина прояснит ситуацию...
1
0 / 0 / 0
Регистрация: 29.08.2012
Сообщений: 4
29.08.2012, 17:38  [ТС] 7
Проблему решил, делал резервное копирование от NAME, в таком случае к базе есть доступ у обоих пользователей. Всем спасибо за участие, замечания приму к сведению.
0
912 / 877 / 62
Регистрация: 06.01.2010
Сообщений: 2,367
Записей в блоге: 6
29.08.2012, 19:28 8
diletant, ясно, у вас вообще не было раздачи прав.
Видимо NAME был у вас владельцем базы и тем самым имел все права (был практически аналогом SYSDBA внутри базы). А после рестора из под SYSDBA владелец базы поменялся на SYSDBA, и NAME потерял доступ, т.к. никаких яво выданных прав (через grant) не имел.
1
29.08.2012, 19:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2012, 19:28
Помогаю со студенческими работами здесь

ASP & Exchange 5.5 & база юзеров
Привет участникам форума! Подскажите как при помощи asp из Exchange 5.5 достать базу почтовых...

При восстановлении базы данных dle не приходят сообщения при связи с администрацией
При восстановлении базы данных с сайта со своей информацией на только поставленный сайт не приходят...

Ошибка при восстановлении БД.
Всем привет! Возникла такая ситуация: Есть 3 компьютера, на двух W2000, на одном 98. Они...

Ошибка при восстановлении БД
Добрый день, у меня такая проблема скинули бэкап бд, пытаюсь ее восстановить у себя через...

Ошибка при восстановлении
Всем доброго времени суток, проблема сегодня выявилась у меня. Когда windows загружается,...

Ошибка при восстановлении БД
Здравствуйте! Сделал backup базы, создал новую бд и пытаюсь туда восстановить Мне выдает такую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru