Usuário com melhor resposta
Problema com Trigger de Logon

Pergunta
-
Boa noite Pessoal,
Estou com um problema em meu ambiente de testes, onde eu criei uma Trigger de LOGON para validar os LOGINs que podem fazer LOGON em um determinado horario.
O problema que tenho é que eu inseri apenas um LOGIN que pode acessar em um determinado horario, mas este LOGIN não tem acesso a quase nada, inclusive não tem acesso as tabelas que definem qual LOGIN pode acessar em um determinado horario.
Sendo assim não consigo fazer LOGON com meu LOGIN Administrativo ( nenhum deles ).
Também não consigo acessar via DAC, dá um erro falando que DAC não é suportado.
Não sei se tem como, mas alguém tem alguma dica de como eu consigo apagar esta Trigger de LOGON sem o Acesso DAC e sem um LOGIN com acessos a esta Trigger ?
Desde já obrigado.
Respostas
-
Boa Noite,
A criação de triggers de logon deve ter sempre uma backdoor para acessos administrativos e evitar justamente situações como essa, mas vamos lá. Uma forma simples de apagar a trigger de logon é restaurando o master antes da trigger de logon, mas acredito que um backup do master não esteja disponível. Você informou que a DAC não é suportada. Estamos falando do SQL Server Express ? Você tentou usar a DAC diretamente no servidor ?
[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos: http://www.youtube.com/user/gmasql
Classifique as respostas. O seu feedback é imprescindível- Marcado como Resposta Adriano Ap Nascimento quarta-feira, 28 de março de 2012 13:55
-
Adriano,
Olha restaurar backups de bancos de sistemas em instâncias diferentes pode funcionar, mas com certeza poderá ocorrer alguns impactos.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]- Marcado como Resposta Adriano Ap Nascimento quarta-feira, 28 de março de 2012 13:55
Todas as Respostas
-
Adriano,
Vamos por partes, você ativou o DAC?
Faça o seguinte, conecte-se como administrador ou sa em sua instância, e execute os seguintes passos:
SP_CONFIGURE 'REMOTE ACCESS',1
RECONFIGURE WITH OVERRIDE
GO
SP_CONFIGURE 'REMOTE ADMIN CONNECTIONS',1
RECONFIGURE WITH OVERRIDE
GO
Após executar estes procedimentos, vá para o Menu File, New, Database Engine Query, informe ADMIN:NOMEDASUAINSTANCIA e faça o logon de conexão, pronto já estará conectado ao seu SQL Server através de uma conexão DAC.
**Antes do nome da instância é necessário especificar a palavra ADMIN:
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com] -
Boa Noite,
A criação de triggers de logon deve ter sempre uma backdoor para acessos administrativos e evitar justamente situações como essa, mas vamos lá. Uma forma simples de apagar a trigger de logon é restaurando o master antes da trigger de logon, mas acredito que um backup do master não esteja disponível. Você informou que a DAC não é suportada. Estamos falando do SQL Server Express ? Você tentou usar a DAC diretamente no servidor ?
[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos: http://www.youtube.com/user/gmasql
Classifique as respostas. O seu feedback é imprescindível- Marcado como Resposta Adriano Ap Nascimento quarta-feira, 28 de março de 2012 13:55
-
Bom Dia Junior, Gustavo,
Então, eu não habilitei o DAC antes de fazer a trigger de Logon e o usuário que consigo acessar a base agora não tem permissão para configurar DAC.
Eu fiz a trigger apenas para testes em uma base de treinamento minha.
O problema que ocorreu foi que eu fiz a logica da trigger errada, pois eu criei um usuário sem permissão nenhuma( apenas permissão para conecatr em uma base qualquer), ai eu inserir este usuário em uma tabela, e depois eu criei a trigger de Logon para não deixar os usuários que estivessem na tabela logar na base.
O problema foi que eu fiz ao contrario, deixanbdo só o usuário que esta na tabela logar na base... rsrsrs ( foi um erro de logica meu )..
A minha instancia é uma versão Trial ( apenas para estudo mesmo ).
Tentei utilizar DAC direto na minha maquina mesmo, mas como eu não havia habilitado DAC antes, creio que é por isto que da a mensagem de que não é suportada.
Eu só não queria perder esta base pois tenho muita coisa que eu uso para estidar nela.
Só uma pergunta, eu não tenho um backup do Banco Master desta instancia mais se eu criar o Backup de uma outra instancia ou mesmo de uma instanci a nova e restaurar nesta dara certo?
Sei que perderei alguns dados mais o que importa é as outras bases mesmo.
Desde já obrigado pela ajuda.
Adriano Nascimento -
Adriano,
Olha restaurar backups de bancos de sistemas em instâncias diferentes pode funcionar, mas com certeza poderá ocorrer alguns impactos.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]- Marcado como Resposta Adriano Ap Nascimento quarta-feira, 28 de março de 2012 13:55