¿Cómo enumero o busco todos los nombres de columna en mi base de datos?

37

Quiero buscar una cadena en los nombres de las columnas presentes en una base de datos.

Estoy trabajando en un proyecto de mantenimiento y algunas de las bases de datos con las que trato tienen más de 150 tablas, así que estoy buscando una forma rápida de hacerlo.

¿Que recomiendas?

Webber
fuente
pregunta similar formulada en SO
CoderHawk
buen artículo. Muchas gracias. También utilicé TM Field Finder y es realmente poderoso en materia de búsqueda en SQL Schema y también en datos.

Respuestas:

38

Puede usar la siguiente consulta para enumerar todas las columnas o buscar columnas en las tablas de una base de datos.

USE AdventureWorks 
GO 
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%EmployeeID%'
ORDER BY schema_name, table_name; 

Puede utilizar las vistas de información_esquema para enumerar todos los objetos en las bases de datos de SQL Server 2005 o 2008.

SELECT * FROM information_schema.tables

SELECT * FROM information_schema.columns

http://blog.sqlauthority.com/2008/08/06/sql-server-query-to-find-column-from-all-tables-of-database/

CoderHawk
fuente
8

También existe SQL Search , una herramienta gratuita que se integra con SQL Server Management Studio.

texto alternativo

Marek Grzenkowicz
fuente
1
La búsqueda SQL es una buena herramienta, pero tenga en cuenta que la ventana de resultados está limitada arbitrariamente a 250 resultados. La última vez que usé esta herramienta, Red Gate no tenía una forma de eliminar esta limitación. Dicho esto, sigue siendo una herramienta muy útil y la recomendaría a cualquier DBA o desarrollador de SQL Server. ¡El precio también es correcto!
Matt M
5

Uno tardío pero con suerte útil ya que ambas herramientas son gratuitas.

Búsqueda ApexSQL : lo bueno de esta herramienta es que también puede buscar datos, mostrar dependencias entre objetos y unir otras cosas útiles.

ingrese la descripción de la imagen aquí

Paquete de herramientas SSMS : gratuito para todas las versiones, excepto SQL 2012. Una gran cantidad de excelentes opciones que no están relacionadas solo con la búsqueda, como fragmentos, varias personalizaciones y más.

ingrese la descripción de la imagen aquí

Stanley Norman
fuente
1

Este es uno que todos los DBA de SQL de antaño usan.

EXEC sp_help 'your table name';

Si solo con una sola línea, ni siquiera necesita escribir EXEC. Solo haz

sp_help 'your table name'
PhilRoan
fuente