Como procurar um campo pelo nome em todas as tabelas?

Este pequeno script é muito útil, por exemplo, para quem precisa achar em quais tabelas você tem o mesmo campo. Ele funciona em base de dados SQLServer, testado várias vezes por mim, e aprovado com certeza.

SQLServerPrimeiro, esteja na base de dados que deseja buscar. Use a função "use nome_da_base". Depois disso, apenas é preciso informar o nome do campo corretamente no script abaixo:

use NOME_DA_BASE

SELECT 
     T.name AS Tabela, 
     C.name AS Coluna
FROM 
     sys.sysobjects AS T (NOLOCK) 
INNER JOIN sys.all_columns AS C (NOLOCK) ON T.id = C.object_id AND T.XTYPE = 'U' 
WHERE 
     C.NAME LIKE '%NOME_DO_CAMPO%' 
ORDER BY 
     T.name ASC

E então? Encontrou o campo que precisava? Deixe seu comentário a respeito.

Até o próximo post!

Tags desta matéria

Comentários  (5)

  • Fernando
    Fernando 23/09/2014 11:04

    Ótima dica. Obrigado.

  • Henrique Corrêa
    Henrique Corrêa 23/09/2014 11:10

    Obrigado Fernando,
    Em breve teremos mais dicas como esta!

  • Zarak
    Zarak 04/02/2015 13:04

    Meu caro, nao funcionou... :/

  • Henrique Corrêa
    Henrique Corrêa 04/02/2015 16:32

    Zarak,
    Comente com o erro apresentado para que possamos ajudar.

  • Paulo H.
    Paulo H. 24/07/2019 23:07

    Na mesma ideia, tem como saber em que tabela e campo se encontra determinado %dados% ??

Deixe sua opnião