Usuário Proprietário do BD

16/12/2004

0

caros colegas,

estou com um problema q naum consigo resolver a algum tempo. eu criei um banco de dados sendo o usuário SYSDBA como proprietário do mesmo, mas quero mudar essa propriedade para um outro usuário q eu criei no interbase. Li q isso eh feito através de backup/restore, mas eu ja tentei fazer o backup e restaurar logado com o usuário q eu criei e naum adiantou... alguém sabe como posso fazer isso?


Gilberto Fernandes

Gilberto Fernandes

Responder

Posts

16/12/2004

Gandalf.nho

Qunado tu restora com outro usuário, tu só muda o dono dos objetos do banco, não o próprio banco. A única maneira (pelo que sei) de alterar o dono do banco é recriá-lo com o usuário desejado e depois copiar os dados de um banco para o outro.


Responder

17/12/2004

Vinicius2k

Colega,

Passei por uma dificuldade semelhante neste tópico :
http://delphiforum.icft.com.br/forum/viewtopic.php?t=52501

Digo semelhante, pq meu caso era mais simples... o Owner do banco já era meu usuário, mas um restore feito logado como SYSDBA alterou o owner dos objetos...

Na busca pela solução, descobri que pode rodar um update na RDB$RELATIONS alterando o nome do Owner dos Objetos... fiz alguns testes e esta alteração não trouxe nenhum problema... mas como não está documentada não posso garantir...
[b:a50838395a]Descobri também que, para alterar o Owner do banco, basta alterar o Owner da tabela RDB$DATABASE...[/b:a50838395a]

Então eu lhe sugiro o seguinte :
1. Faça um backup logado como SYSDBA
2. Conecte-se como seu usuário e restaure a base (-R)
Neste ponto os objetos comuns terão novo dono.
3. Conecte-se como SYSDBA e rode :
update RDB$RELATIONS set RDB$OWNER_NAME = ´<nome do seu usuário>´ where RDB$OWNER_NAME = ´SYSDBA´

Neste ponto os objetos que ainda eram do SYSDBA passam a ter novo dono.

Esta solução mescla a forma correta com ´força bruta´... deve resolver o problema, mas alerto novamente que não posso garantir que não existam problemas... já fiz isso e funcionou perfeitamente... é o máximo que posso dizer.

T+


Responder

17/12/2004

Gilberto Fernandes

vlw vinicius, eu estava pensando em trabalhar realmente com essas tabelas de sistema do interbase, mas estava com receio de danificar o banco e na verdade tb naum sabia onde mexer... eu vou tentar fazer aqui com um backup e depois posto se deu certo... mas de qq maneira, mto obrigado pela ajuda :D


Responder

17/12/2004

Gilberto Fernandes

Vinicius valeu pela ajuda mas eu naum consegui fazer... eu até consegui fazer a rotina q vc me disse... mas depois começou a apresentar uns erros de privilégios de usuário... uma confusão danada rsrs... daí eu preferi fazer da outra maneira... criei um novo bd e fiz a transferência dos dados...

vlw pela ajuda gandalf.nho e Vinicius


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar