¿Cómo buscar la tabla en la que se encuentra una columna en SQL Server?

Utilizando las tablas de sistema, se puede hacer una búsqueda del nombre de un campo en todas las tablas de la base de datos

Para ello se puede utilizar el siguiente script:

USE <BASE_DATOS>
SELECT
sysobjects.name AS table_name,
syscolumns.name AS column_name,
systypes.name AS datatype,
syscolumns.LENGTH AS LENGTH
FROM
sysobjects
INNER JOIN syscolumns ON sysobjects.id = syscolumns.id
INNER JOIN systypes ON syscolumns.xtype = systypes.xtype
WHERE
(sysobjects.xtype = 'U')
and (
UPPER(syscolumns.name) like upper('%<NOMBRE_COLUMNA>%')
)
ORDER BY
sysobjects.name,
syscolumns.colid

Donde:

  • <BASE_DATOS> es la base de datos sobre la que queremos hacer la búsqueda
  • <NOMBRE_COLUMNA> es el nombre de la columna que queremos buscar
Créditos