none
Busca campo em muitas tabelas RRS feed

  • Pergunta

  • Olá a todos...

    Gostaria de saber se tem como no SQL Server 2005 buscar um certo campo em muitas tabelas, pois o Banco do sistema o qual eu estou administrando nao possui documentacao, e possui + de 1000 tabelas. e preciso achar os registros de onde se encontra os campos para melhorar o desenvolvimento de relatorios.

     

    Se alguem puder me ajudar eu agradeco.

     

    quinta-feira, 22 de abril de 2010 18:31

Respostas

  • Bauer,

    Se sua inteção é descobri qual tabela tem um deteminado campo segue um script que pode te ajudar.

    select a.name,b.name from sys.tables a inner join sys.columns b on a.object_id=b.object_id
    where b.name='nome'

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    • Marcado como Resposta Johnny Bauer sexta-feira, 23 de abril de 2010 19:06
    quinta-feira, 22 de abril de 2010 18:48

Todas as Respostas

  • Bauer,

    Se sua inteção é descobri qual tabela tem um deteminado campo segue um script que pode te ajudar.

    select a.name,b.name from sys.tables a inner join sys.columns b on a.object_id=b.object_id
    where b.name='nome'

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    • Marcado como Resposta Johnny Bauer sexta-feira, 23 de abril de 2010 19:06
    quinta-feira, 22 de abril de 2010 18:48
  • Ow Marcelão!!  Obrigado!

     

    Isso mesmo, sysTables era o nome que eu queria descobrir....  hehehe 

     

    Obrigado!


    Ricardo Johnny Analista de SIstemas DBA - Database Administrator
    quinta-feira, 22 de abril de 2010 18:51
  • Bauer,

    Obrigado pelo retorno, se possivel e achar justo marque a resposta que o atendeu, esta ação poderá ajudar outros usuários do forum.

    Att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS. Se útil, classifique!!!
    quinta-feira, 22 de abril de 2010 18:56
  • Boa Tarde Jhonny

    O script abaixo busca um determinado campo em todas as tabelas do seu banco de dados.

    declare @campo varchar(100)
    
    set @campo = 'IdService'
    select t1.name as Tabela, t2.name as nome from sys.columns t1 
     left join sysobjects t2
    on t1.object_id = t2.id
    where t1.[name] like @campo
    

     


    hã?
    quinta-feira, 22 de abril de 2010 19:16
  • Boa Tarde,

    Acredito que o uso do Profiler seria mais efetivo para esse caso. Você poderia ver qual o comando SQL que sua aplicação dispara para encontrar diretamente a(s) tabela(s) utilizadas. Ver a lista de colunas e tabelas é muito útil com certeza, mas algumas colunas como "nome", "email", etc podem aparecer em muitas tabelas e atrapalhar encontrar a tabela correta.

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.spaces.live.com


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 22 de abril de 2010 19:21