データベースに存在する列の名前で文字列を検索したい。
私はメンテナンスプロジェクトに取り組んでおり、扱っているデータベースのいくつかには150を超えるテーブルがあるため、これを行うための簡単な方法を探しています。
内容
コメント
- SO で尋ねられた同様の質問li>
- 良い記事。どうもありがとう。TMFieldFinderも使用しましたが、'はSQLスキーマとデータの検索に関して非常に強力です。
- 関連: SQLを使用したデータベーススキーマの探索
回答
次のクエリを使用して、データベース内のすべての列を一覧表示したり、テーブル全体の列を検索したりできます。
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 Server2005または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 もあります。これはSQLServer ManagementStudioと統合する無料のツールです。
コメント
- SQL検索は優れたツールですが、結果ウィンドウは、250件の結果に任意に制限されていると思います。前回このツールを使用したとき、RedGateにはこの制限を解除する方法がありませんでした。そうは言っても、それはまだ非常に便利なツールであり、SQL ServerDBAまたは開発者に推奨します。価格も適正です!
回答
遅いですが、両方のツールが無料なので便利です。
ApexSQL検索 –このツールの良いところは、データの検索、オブジェクト間の依存関係の表示、その他の便利な機能の組み合わせもできることです。
SSMSツールパック –無料SQL 2012を除くすべてのバージョン。スニペット、さまざまなカスタマイズなど、検索だけに関連しない多くの優れたオプション。
回答
これは昔からのすべてのSQLDBAが使用しているものです。
EXEC sp_help "your table name";
1行の場合は、EXECと入力する必要もありません。
sp_help "your table name"