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. Muchisimas gracias me sirvió mucho ;)

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

    ResponderEliminar
  12. 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
  13. 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
  14. Genial script! ... +10 desde Argentina :)

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

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

    ResponderEliminar
  17. 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
  18. 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
  19. Increiblemente util!!!! Muy bueno, la uso todo el tiempo! Saludos desde Corrientes-Argentina

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

    Saludos dese Rep.Dom

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

    ResponderEliminar
  22. Muchas gracias!! genial!

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

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

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

    Gracias!!

    ResponderEliminar
  26. Excelente muchas gracias,

    Best Regards,

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

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

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

    ResponderEliminar
  30. muy bueno tu aporte gracias

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

    ResponderEliminar
  32. 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
  33. sos otro nivel... 214 y aun habemos quien lo buscamos!!

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

    Saludos desde San pedro Sula,Honduras....

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

    ResponderEliminar
  36. Excelente!!!! muchas gracias!!!

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

    ResponderEliminar
  38. 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
  39. Excelente aporte.

    Saludos amigo

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

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

    ResponderEliminar
  42. Muy buen aporte. demasiado útil.

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

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

    ResponderEliminar
  45. 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
  46. 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
  47. muy bueno, saludos desde México

    ResponderEliminar
  48. Que gran aporte. saludos desde Colombia

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

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

    ResponderEliminar
  51. Gracias me sirvió mucho :)

    ResponderEliminar
  52. 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
  53. Esto es mucho mejor, menos codigo y mismo resultado

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

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

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

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

    ResponderEliminar
  57. Muchas Gracias. Me solucionaron un problema

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

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

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

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

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

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

    ResponderEliminar
  64. Muchas gracias muy buena aportacion

    ResponderEliminar
  65. Afredo Racero Blanco21 de noviembre de 2019, 17:03

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

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

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

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

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

    ResponderEliminar
  70. te rifaste, excelente aporte, Gracias

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

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

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

    ResponderEliminar
  74. 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
  75. 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

Aplicación y Aplicativo