Banco de Dados - SQL Server
Dica para buscar nome de tabelas ou stored procedures dentro do banco de dados
Olá pessoal, hoje gostaria de entrar em uma área que não muito a minha. Como eu aprendi a fazer, resolvi compartilhar com vocês.
por Mauricio Junior Olá pessoal, hoje gostaria de entrar em
uma área que não muito a minha. Gosto de usar e sei fazer algumas coisas mas não sou totalmente especializado. Aprendi um dia desses
e então resolvi compartilhar com você leitor, vale a
pena ler.
É simples e fácil de utilizar, mas antes de mostrar gostaria
de explicar melhor a situação melhorando assim o entendimento.
Necessário para executar
Banco de dados SQL Server
Microsoft SQL Server Management Studio
No meu caso que pode ser o seu também, peguei um sistema que
foi desenvolvido por outra pessoa que acabou saindo da empresa. Notei que ele
usou para fazer select, insert,
update e delete, storeds procedures.
Uma chama a outra ou existem duas dentro de uma maior e
assim por diante, ou seja, o sistema parece mais uma orientação a procedure do que orientado a objetos. No meu ponto de
vista, chamar procedure dentro de procedure
não é muito bom, isso porque a manutenção pode se tornar problemática, e se
alguma procedure der problema, para achá-la fica mais
difícil.
Esse é o meu ponto de vista como arquiteto de software que sou,
não condeno quem faça (gostaria de deixar claro isso).
Com essa pequena história, precisei verificar uma procedure que estava dando erro no sistema, mas dentro do
aplicativo ela não era chamada, isto é, dentro do código fonte do aplicativo.
Constatei que, estava sendo chamada dentro de uma procedure qualquer e para achar isso aprendi fazer um select no banco para procurar esse tipo de coisa. Abri o
Management Studio e digitei. (Code 1.1)
select object_name(id)
from syscomments where text like
"%spu_Luxo_Insere%"
Code 1.1
O nome da procedure que estava
procurando era spu_Luxo_Insere. Não sabia quem estava
chamando a procedure. O select
object_name retorna os nomes dos objetos como o nome
de tabela, procedure e outros. O syscomments
busca em todo o banco registrado internamente. O texto que precisava era o nome
da procedure, com isso foi colocado o comando like com percente antes e depois.
Em outro momento precisei achar outro comentário, pesquisei
pelo nome gráfico. Code 1.2.
select object_name(id) from syscomments where text like
"%grafico%"
Code 1.2
Note como foi fácil executar os dados, automaticamente o
banco de dados mostrou quem estava chamando e onde estava.
Eu fico por aqui e espero ter ajudado. Qualquer dúvida pode
entrar em contato pelo site.
- Representando dados em XML no SQL ServerSQL Server
- Diferenças entre SEQUENCES x IDENTITY no Microsoft SQL Server 2012SQL
- Utilizando FILETABLE no SQL Server 2012SQL Server
- NHibernate com o Delphi Prism: Acessando um Banco de Dados SQL ServerVisual Studio
- Novidades no SQL Server Codinome DenaliSQL Server