2016-06-29 4 views
3

私は50以上のビュー、テーブル、およびストアドプロシージャを持つ巨大なデータベースを持っています。特定のテキスト、つまりテーブル名を検索して、どこにでも参照されているかどうかを調べたいと思います。SQLを使用して複数のビューで参照されるテーブルを見つける

私はもともとC#のルートを試しましたが、これはSQLでもっと簡単になると思っています。私が考えている論理は、おそらくすべてのテーブル、ビュー、およびストアドプロシージャをループし、利用可能な場合にデータを返すクエリを作成することです。

アイデア?以下のクエリで

+2

に関連するオブジェクトのあなたのテーブル名、それが意志を返すリスト[レッドゲート](httpsを置き換える:// WWWを。 red-gate.com/products/?&gclid=Cj0KEQjw4827BRDJvpbVuKvx-rIBEiQA2_CzsLcNl9GEdBZm9PN7w5F6pN7u4304dEv9Z_CNdFCQaosaAvji8P8HAQ)は、これを行うことができるSSMSのための素晴らしい無料のアドインを持っています。これは[SQL Search](https://www.red-gate.com/products/sql-development/sql-search/)と呼ばれます。 –

+0

ああすごいよ!それは新しい開発者であることを見てください:おそらく既に完了しているでしょう。どうもありがとう!私は今、良い読書資料を持っています – Nonagon

答えて

2

、代わりにmatchingstringの検索文字列

SELECT DISTINCT SO.[name] 
FROM sysobjects SO 
JOIN syscomments SC ON SC.Id = SO.Id 
WHERE SC.[text] LIKE '%matchingstring%' 
+0

試してみて、ありがとう – Nonagon

1
SELECT object_name(id) FROM sys.syscomments WHERE text LIKE'%yourtablename%' 
関連する問題