Desejo pesquisar 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 lido têm mais de 150 tabelas, então estou procurando uma maneira rápida de fazer isso.
O que você recomenda?
Comentários
- pergunta semelhante feita em SO
- bom artigo. Muito obrigado. Eu também usei o TM Field Finder e ele ' é realmente poderoso em matéria de pesquisa no esquema SQL e também de dados.
- Relacionado: Explorando o esquema do seu banco de dados com SQL
Resposta
Você pode usar a consulta a seguir para listar todas as colunas ou pesquisar colunas em 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 as visualizações information_schema para listar todos os objetos nos bancos de dados 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/
Resposta
Também existe o SQL Search – uma ferramenta gratuita que se integra ao SQL Server Management Studio.
Comentários
- Pesquisa SQL é uma boa ferramenta, mas tenha em mente que o a janela de resultados é arbitrariamente limitada a, acredito, 250 resultados. A última vez que usei essa ferramenta, a Red Gate não tinha uma maneira de eliminar essa limitação. Dito isso, ainda é uma ferramenta muito útil e eu a recomendaria a qualquer DBA ou desenvolvedor do SQL Server. O preço é justo também!
Resposta
Uma atrasada, mas esperançosamente útil, pois ambas as ferramentas são gratuitas.
ApexSQL Search – o bom dessa ferramenta é que ela também pode pesquisar dados, mostrar dependências entre objetos e outras coisas úteis.
Pacote de ferramentas SSMS – gratuito para todas as versões, exceto SQL 2012. Muitas opções excelentes que não estão relacionadas apenas à pesquisa, como snippets, várias personalizações e muito mais.
Resposta
Esta é uma que todos os SQL DBA antigos usam.
EXEC sp_help "your table name";
Se apenas com uma linha, você nem precisa digitar EXEC. Basta digitar
sp_help "your table name"