Buscar columnas en todas las tablas SQL SERVER

Hace un tiempo necesitaba encontrar en todas las tablas que se encontraba una columna con "x" nombre.  Esto por que yo no conocía el modelo de la base de datos y no quería darme el trabajo de buscar tabla por tabla. 

Aquí dejo una query para poder realizar la búsqueda de forma rápida en  SQL SERVER

Solo hay que cambiar donde dice "myFieldName" por el nombre de la columna que desean buscar. 


Actualización Agosto 2022, Según los comentarios también se puede buscar de forma fácil con la siguiente consulta SQL

--
Atte.
Víctor Hugo Saavedra
http://vhspiceros.blogspot.com

Comentarios

  1. Sos groso!!! justo lo que estaba necesitando! Gracias

    ResponderEliminar
  2. MUCHAS GRACIAS, ERA LO QUE BUSCABA

    ResponderEliminar
  3. muchas gracias desde Panama city.

    ResponderEliminar
  4. Muchas gracias desde Chile

    ResponderEliminar
  5. Que gran aporte, me has ahorrado demasiado tiempo porque igual que tu no conozco mi modelo de base de datos, ya que estoy en un proyecto nuevo y me cogieron de novato

    ResponderEliminar
  6. Alguien sabe como buscar un dato en todas las tablas ?

    ResponderEliminar
  7. por ahora yo no, me imagino que seria algun procedimiento almacenado, voy a buscar :D

    ResponderEliminar
  8. Victor muchas gracias me ha servido muchisimo tu aporte, realmente excelente, gracias

    Que bueno cuando todos nos ayudamos

    ResponderEliminar
  9. buenisima la instruccion Muchas gracias

    ResponderEliminar
  10. Muchas gracias, desde Colombia por fin un blog decente...

    ResponderEliminar
  11. Como estás Víctor

    tengo una pregunta, debo hacer un script en el cual ingreso el orden de la columna (no conozco el nombre de la columna) en la tabla y poder sacar los datos solo de la columna en cuestión, no sé si podras ayudarme. mil gracias.

    ResponderEliminar
  12. no te entiendo, lo que estas tratando de hacer es por ejemplo sacar solo la columna en posicion 1 de la tabla "xyz" eso???

    ResponderEliminar
  13. Genial script! ... +10 desde Argentina :)

    ResponderEliminar
  14. Hombre, muchas gracias.
    Me salvaste de una te doy +10

    ResponderEliminar
  15. A mi tb me sirvio...Dos años despues de que lo publicaste jejeje
    Gracias
    Carolina
    PD: Tb de Chile

    ResponderEliminar
  16. Para quienes buscar cualquier texto, dentro de cualquier procedimiento almacenado, basta con lo siguiente:

    SELECT * FROM SYSOBJECTS WHERE ID IN(
    SELECT ID FROM SYSCOMMENTS WHERE TEXT LIKE '%LOQUEQUIERESBUSCAR%' )

    Esto entregara el procedimiento que contiene lo buscado... eso seria..

    ResponderEliminar
  17. GRacias por tu comentario jose,

    justamente ahi una entrada con eso mira

    http://vhspiceros.blogspot.com/2009/03/buscar-textos-en-precemientos.html

    --
    Atte.
    Víctor Hugo Saavedra.
    http;//vhspiceros.blogspot.com

    ResponderEliminar
  18. Increiblemente util!!!! Muy bueno, la uso todo el tiempo! Saludos desde Corrientes-Argentina

    ResponderEliminar
  19. Gracias! Ha sido de mucha ayuda para mi. :D

    Saludos dese Rep.Dom

    ResponderEliminar
  20. EXELENTE MIJIN, me ayudaste FULL.
    Desde ECUADOR

    ResponderEliminar
  21. Gracias por compartirlo, me sirvio ahorita que lo necesitaba

    ResponderEliminar
  22. Gracias por compartirlo.. me ahorraste bastante tiempo, ya que tengo que investigar un modelo de datos..
    saludos

    ResponderEliminar
  23. Oie excelente! eso me ayudará a buscar un texto específico en toda una tabla de base de datos !...

    Gracias!!

    ResponderEliminar
  24. Excelente muchas gracias,

    Best Regards,

    ResponderEliminar
  25. Gracias... me ha servido de mucho...

    ResponderEliminar
  26. Justo lo que necesitaba. :) Saludos !!! y gracias por el aporte

    ResponderEliminar
  27. simplemente excelente...muy buen aporte...debe de haber mas gente como tu que dan soluciones precisas

    ResponderEliminar
  28. muy bueno tu aporte gracias

    ResponderEliminar
  29. Cuantos años y sigue ayudando esta reseña. Muchas gracias!!!

    ResponderEliminar
  30. Hola ... excelente el aporte... pero si quisiera cambiar el nom bre de un campo que esta en común en todas las tablas cómo podría hacer esto, gracias

    ResponderEliminar
  31. sos otro nivel... 214 y aun habemos quien lo buscamos!!

    ResponderEliminar
  32. 2014 y aun lo seguimos usando... :)

    Saludos desde San pedro Sula,Honduras....

    ResponderEliminar
  33. Muchas gracias Victor HUgo justo neesitaba esto para PiotorSoft.

    ResponderEliminar
  34. Excelente!!!! muchas gracias!!!

    ResponderEliminar
  35. excelente me parece muy bueno 10 puntos, habría posibilidad de ampliarlo hacia las vistas, porque solo trabaja con las tablas

    ResponderEliminar
  36. Sin menospreciar el trabajo aquí, que me parece excelente, pongo uno que muestra las consultas también
    SELECT TABLE_NAME, COLUMN_NAME
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE COLUMN_NAME LIKE '%campoAbuscar%'
    ORDER BY COLUMN_NAME

    ResponderEliminar
    Respuestas
    1. tu sentencia es para buscar un dato de una columna me parece

      Eliminar
  37. Excelente aporte.

    Saludos amigo

    ResponderEliminar
  38. Muchas gracias, buen aporte me sirvio de mucho.

    ResponderEliminar
  39. Excelente, justo lo que buscaba...saludos desde Ciudad de Panamá!

    ResponderEliminar
  40. Muy buen aporte. demasiado útil.

    ResponderEliminar
  41. Muchas gracias por el aporte, me ayudo demasiado.

    ResponderEliminar
  42. Esto me ha ayudado un monton... Gracias...!!!

    ResponderEliminar
  43. Esta es la forma que yo uso hay que cambiar NombreDeCampo porel campo que buscamos.

    SELECT TABLE_NAME,*
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE COLUMN_NAME LIKE '%NombreDeCampo%'

    ResponderEliminar
  44. Gracias fue de muchas ayuda tu aporte - soy nicaraguense, y aunque tengo el modelo, es cansado estar buscando tabla a tabla con esta relacionado.. muchas gracias..

    ResponderEliminar
  45. muy bueno, saludos desde México

    ResponderEliminar
  46. Excelente, cada cierto tiempo necesito esta consulta.

    ResponderEliminar
  47. mi pez, justo en el clavo. Gracias Col.

    ResponderEliminar
  48. Gracias me sirvió mucho :)

    ResponderEliminar
  49. Hola, muchas gracias por el aporte, queria consultar si sabras alguna forma de buscar una palabra o frase de una tabla en especifico en cualquiera de sus columnas varchar, nvarchar, text, etc. Aquellas de texto o alfanumerico. Gracias por el aporte!

    ResponderEliminar
  50. Esto es mucho mejor, menos codigo y mismo resultado

    SELECT TABLE_NAME,*
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE COLUMN_NAME LIKE '%NombreDeCampo%'

    ResponderEliminar
  51. Excelente aporte, gracias por compartir, también a quienes comentaron otras consultas que ayudan a complementar

    ResponderEliminar
  52. Excelente aporte estimado amigo. Funciona Perfecto. Un saludo desde Venezuela

    ResponderEliminar
  53. Excelente. Conocimientos compartidos. Como nuestros innovadores.

    ResponderEliminar
  54. Muchas Gracias. Me solucionaron un problema

    ResponderEliminar
  55. 9 años después de tu publicación, esta sigue ayudando!! mil gracias!!!

    ResponderEliminar
  56. Casi 10 años y aun vigente y ayudando, muy buen aporte, gracias por compartirlo

    ResponderEliminar
  57. Excelente justo lo que estaba buscando!!!!!!!!!!!!!!!

    ResponderEliminar
  58. Excelente aporte!!! Muchas gracias por compartirlo!!!!

    ResponderEliminar
  59. muchas gracias victor de verdad excelente por la ayuda

    ResponderEliminar
  60. Muchisimas gracias, justo estaba necesitando esta consulta.

    ResponderEliminar
  61. Muchas gracias muy buena aportacion

    ResponderEliminar
  62. Gracias Victor, me has ahorrado un tiempo para construir la consulta.

    ResponderEliminar
  63. y en el 2020 sigue sirviendo tu publicacion, Gracias

    ResponderEliminar
  64. Excelente!!! 12 años despues de publicado sigue sirviendo esta publicacion. Gracias!!!!!

    ResponderEliminar
  65. Gracias amigo. que esta consulta sea útil para muchas personas más.

    ResponderEliminar
  66. Muchísimas gracias, era lo que estaba buscando....

    ResponderEliminar
  67. te rifaste, excelente aporte, Gracias

    ResponderEliminar
  68. Excelente aporte me sirvió mucho para buscar un campo en una gran base de datos,

    ResponderEliminar
  69. Muchas gracias, Query a guardar.
    Saludos.

    ResponderEliminar
  70. brutal tu script, saludos desde Caracas, Venezuela

    ResponderEliminar
  71. alguien que me pueda explicar la logica de esta sentencia porfa

    ResponderEliminar
    Respuestas
    1. INFORMATION.SCHEMA.COLUMNS hace referencia a la información de la BD que estas usando, los campos TABLE_NAME, COLUMN_NAME hacen referencia a la tabla y columna respectivamente, la función like %% del where en SQL server al estar entre porcentajes quiere decir que contenga la palabra contenida dentro, por ejemplo '%gatito%' buscara la tabla y columna de todas las columnas cuyo nombre contenga la palabra "gatito"

      Eliminar
  72. Gracias, 14 años después sigue salvándole la vida a mucha gente este post.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

"is not null" o "<> Null" en Sql Server

Select dinamicos de Pais/Regiones/Ciudad/Comunas con php y javascript