segunda-feira, 19 de abril de 2010

Base Firebird Corrompida

Quando temos o desprazer de nos deparar com uma base corrompida no Firebird podemos tentar alguns procedimentos que podem vir a recuperar o banco de dados, algumas vezes perdendo informações dependendo do tamanho do problema, abaixo algumas dicas:

gfix -v -f -user sysdba -password masterkey arquivo.fbd
gfix -m -i -user sysdba -password masterkey arquivo.fbd

backup e restore do banco de dados com o utilitário gbak.

Em algumas situações ao restaurar o banco de dados ocorrem problemas com as chaves estrangeiras, porque estão inconsistentes.
Um procedimento que pode ser feito neste caso é restaurar sem ativar elas:

gbak -user sysdba -password masterey -i -r arquivo.fbk arquivo.fbd

Depois deste procedimento o ideal é criar um novo banco de dados somente com os objetos criados (tabelas, views, funções, ...) e copiar as informações para ela.

Antes de mais nada caso exista um backup atualizado, muitas vezes o melhor caminho é utilizar ele antes de fazer estes procedimentos, porque como disse, conforme o tamanho do problema, talvez algumas informações sejam perdidas, e não tem como saber tudo que pode ter sido perdido.

terça-feira, 6 de abril de 2010

Login bloqueado no SQL Server

Quando um login fica bloqueado no SQL Server ao utilizar a autenticação do SQL Server, e mesmo desmarcando a opção "Login is locked out" não libera o usuário. Verifique se não está ativa a opção de policies para as senhas da autenticação do SQL Server. Neste caso pode ser que a política está obrigando a troca de senha do usuário.