Como listar ou pesquisar todos os nomes de colunas no meu banco de dados?

37

Eu quero procurar uma string nos nomes das colunas presentes em um banco de dados.

Estou trabalhando em um projeto de manutenção e alguns dos bancos de dados com os quais tenho mais de 150 tabelas, por isso estou procurando uma maneira rápida de fazer isso.

O que você recomenda?

Webber
fonte
pergunta semelhante feita em SO
CoderHawk 11/01
bom artigo. Muito obrigado. Eu também usei o TM Field Finder e é realmente poderoso em matéria de pesquisa no esquema SQL e também em dados.
Relacionados: Explorando o esquema do banco de dados com SQL
Peter Mortensen

Respostas:

38

Você pode usar a seguinte consulta para listar todas as colunas ou procurar colunas nas tabelas em um banco de dados.

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; 

Você pode usar os modos de exibição information_schema para listar todos os objetos nos bancos de dados do SQL Server 2005 ou 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
fonte
8

Há também o SQL Search - uma ferramenta gratuita que se integra ao SQL Server Management Studio.

texto alternativo

Marek Grzenkowicz
fonte
11
A Pesquisa SQL é uma boa ferramenta, mas lembre-se de que a janela de resultados é arbitrariamente limitada a, creio, 250 resultados. A última vez que usei essa ferramenta, o Red Gate não tinha como elevar essa limitação. Dito isto, ainda é uma ferramenta muito útil e eu a recomendaria a qualquer DBA ou Desenvolvedor do SQL Server. O preço é justo também!
Matt M
5

Mais tarde, mas espero que útil, pois as duas ferramentas são gratuitas.

ApexSQL Search - o lado bom desta ferramenta é que ela também pode pesquisar dados, mostrar dependências entre objetos e outras coisas úteis.

insira a descrição da imagem aqui

SSMS Toolpack - gratuito para todas as versões, exceto o SQL 2012. Muitas ótimas opções não estão relacionadas apenas à pesquisa, como snippets, várias personalizações e muito mais.

insira a descrição da imagem aqui

Stanley Norman
fonte
1

Esse é um que todos os SQL DBA dos tempos antigos usam.

EXEC sp_help 'your table name';

Se apenas com uma linha, você nem precisa digitar EXEC. Apenas faça

sp_help 'your table name'
PhilRoan
fonte