Изменение владельца объектов базы

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Quasar
Сообщения: 61
Зарегистрирован: 23 дек 2005, 10:26

Изменение владельца объектов базы

Сообщение Quasar » 17 сен 2006, 15:18

Есть база. Раньше ее владельцем и владельцем всех ее объектов был user1. Я сделал бэкап/рестор, тем самым сменив владельца базы на user2, но владельцем всех объектов базы остался user1.
Вопрос: как сменить владельца объектов? Пробовал через системные таблицы, не получилось.

FB1.5.2

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Сообщение CyberMax » 18 сен 2006, 02:18

Пересоздание базы при помощи скриптов под user2. Скрипт БД можно сделать через IB Expert, через него же залить данные.

Quasar
Сообщения: 61
Зарегистрирован: 23 дек 2005, 10:26

Сообщение Quasar » 18 сен 2006, 05:57

CyberMax писал(а):Пересоздание базы при помощи скриптов под user2. Скрипт БД можно сделать через IB Expert, через него же залить данные.
Над этим вариантом я думал, но ведь если база большая, то это скорее всего выльется в весьма долгий процесс, ведь так? Неужели нет прямого способа?

CyberMax
Заслуженный разработчик
Сообщения: 638
Зарегистрирован: 31 янв 2006, 09:05

Сообщение CyberMax » 18 сен 2006, 06:40

Можно пересоздать таблицы под user2.
Весьма вероятно, что есть возможность сделать это через модификацию системных таблиц, но этот метод неэтичен.

Quasar
Сообщения: 61
Зарегистрирован: 23 дек 2005, 10:26

Сообщение Quasar » 18 сен 2006, 06:48

Насчёт пересоздания базы с помощью скриптов. А если в БД лежат блобы, картинки например, то их таким образом неудастся перенести.
Можно пересоздать таблицы под user2.
Можно поподробнее? Если создавать таблицы в той же базе, то их потом не получится переименовать, а если в другой базе, то непонятно как переносить данные.

Quasar
Сообщения: 61
Зарегистрирован: 23 дек 2005, 10:26

Сообщение Quasar » 18 сен 2006, 07:14

Кажется нашел решение. Мои действия:
1. Экспортировал метаданные исходной БД в скрипт с помощью IBexpert.
2. С помощью скрипта, создал новую пустую БД, под user2.
3. Воспользовался утилитой IBpump. Всё.

Утилита отработала замечательно. Пока вроде никаких косяков не нашел.

Ответить