¿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:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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