Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
374
Assunto : SQL Server
Titulo: Fazendo procedures agirem como procedures de sistema

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Em dicas anteriores já comentei que criando uma procedure no master com o prefixo sp_ essa procedure poderia ser acessada a partir de qualquer banco de dados.

Isso é um primeiro passo para que uma procedure atue como se fosse uma procedure de sistema, mas se a tarefa da procedure for complexa, exigindo, por exemplo, muitas alterações em tabelas do sistema, a procedure irá checar as permissões do usuário e as permissões no momento de execução da procedure para realizar suas tarefas, coisa que as procedures de sistema não fazem.

Para mudar essa característica é necessário alterar o campo status da tabela sysobjects, dando a nossa procedure o mesmo status de procedures de sistema. Para isso teremos que alterar a configuração 'allow updates', para podermos alterar tabelas de sistema. Veja como fica :

exec sp_configure 'allow updates',1
go
reconfigure with override
go
update sysobjects set status=-1073741823 where name='sp_minhaprocedure'
go
exec sp_configure 'allow updates',0
go
reconfigure with override

A partir dai nossa procedure personalizada atuará como se fosse uma procedure de sistema, podendo inclusive realizar operações em tabelas de sistema sem checar se o usuário em questão tem permissão para isso.


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br