データベースに存在する列の名前の文字列を検索したいのですが。
私はメンテナンスプロジェクトに取り組んでおり、扱っているデータベースの一部には150を超えるテーブルがあるため、これを行う簡単な方法を探しています。
何がお勧めですか?
次のクエリを使用して、すべての列を一覧表示するか、データベース内のテーブル全体で列を検索できます。
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/
SQL Search -SQL Server Management Studioと統合する無料のツールもあります。
1つ後期ですが、両方のツールが無料であるため、うまくいけば役に立ちます。
ApexSQL Search –このツールの良いところは、データを検索したり、オブジェクト間の依存関係を表示したり、他の便利な機能を組み合わせたりできることです。
SSMS Toolpack – SQL 2012を除くすべてのバージョンで無料です。スニペット、さまざまなカスタマイズなど、検索だけに関連しない多くの優れたオプションがあります。
これは、昔からのすべてのSQL DBAが使用しているものです。
EXEC sp_help 'your table name';
1行のみの場合は、EXECと入力する必要すらありません。するだけ
sp_help 'your table name'