データベース内のすべての列名をリストまたは検索するにはどうすればよいですか?


37

データベースにある列の名前の文字列を検索したい。

私はメンテナンスプロジェクトに取り組んでおり、扱っているデータベースの一部には150を超えるテーブルがあるため、これをすばやく行う方法を探しています。

おすすめは何ですか?



良い記事。どうもありがとう。TM Field Finderも使用しましたが、SQLスキーマおよびデータの検索に関しては非常に強力です。

回答:


38

次のクエリを使用して、すべての列を一覧表示したり、データベース内のテーブル全体で列を検索したりできます。

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; 

information_schemaビューを使用して 、SQL Server 2005または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/


8

SQL Searchもあります -SQL Server Management Studioと統合する無料のツールです。

代替テキスト


1
SQL Searchは優れたツールですが、結果ウィンドウは任意に250の結果に制限されることに注意してください。前回このツールを使用したとき、Red Gateにはこの制限を解除する方法がありませんでした。そうは言っても、それはまだ非常に有用なツールであり、SQL Server DBAまたは開発者に推奨します。価格も正しいです!
マットM

5

1つ後期ですが、両方のツールが無料なので、うまくいけば便利です。

ApexSQL Search –このツールの良い点は、データの検索、オブジェクト間の依存関係の表示、その他の便利な機能の組み合わせができることです。

ここに画像の説明を入力してください

SSMS Toolpack – SQL 2012を除くすべてのバージョンで無料。スニペット、さまざまなカスタマイズなど、検索だけに関係しない多くの優れたオプション。

ここに画像の説明を入力してください


1

これは、昔からのすべてのSQL DBAが使用するものです。

EXEC sp_help 'your table name';

1行だけの場合は、EXECと入力する必要さえありません。ただやる

sp_help 'your table name'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.