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.
¿Qué ¿Recomiendas?
Comentarios
- pregunta similar hecha en SO
- 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.
- Relacionado: Explorando el esquema de su base de datos con SQL
Respuesta
Puede utilizar 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 information_schema 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/
Respuesta
También existe SQL Search , una herramienta gratuita que se integra con SQL Server Management Studio.
Comentarios
- La búsqueda SQL es una buena herramienta, pero tenga en cuenta que La ventana de resultados está arbitrariamente limitada, creo, a 250 resultados. La última vez que utilicé esta herramienta, Red Gate no tenía 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!
Respuesta
Tarde 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 un par de otras cosas útiles.
Paquete de herramientas SSMS – gratis para todas las versiones excepto SQL 2012. Muchas opciones excelentes que no están relacionadas solo con la búsqueda, como fragmentos, varias personalizaciones y más.
Respuesta
Este es uno que usan todos los DBA SQL de antaño.
EXEC sp_help "your table name";
Si solo tiene una línea, ni siquiera necesita escribir EXEC. Simplemente hágalo
sp_help "your table name"