私はストアドプロシージャProcAを持っていると言います。それはProcBをいくつかの時間、ProcCを常に呼び出し、ProcDがエラーを起こした場合はProcDを呼び出します。 ProcBは毎回ProcEを呼び出します。エラーが発生した場合、ProcCはProcFを呼び出します。procが呼び出すすべてのprocsをテキストとともに自動化する方法は?
ProcAのテキストを、それが呼び出すすべてのprocsのテキストと一緒に取得して、ツリー全体に渡って回帰することを自動化することはできますか(AからFまで)?これは、複雑なSQLプロキシでエラーを見つけるのに役立ちます。ここ
私が最初に考えたのは、PROCAのテキストを取得それをregexで、その他のprocsへの呼び出しを見つけ、繰り返しをすすぎ洗い、最後に次のようになりますテキスト(ファイルまたはUIへ)を吐き出すです:
ProcA definition
...
ProcB definition
...
...
ProcF definition
しかし、私は提案にはオープンしていますが、おそらく簡単な方法があります。これを行うツールがすでに存在している場合は、それが分かります。私はこの上にGoogleに何を入れるべきか分かりません。
「洗浄、すすぎは、繰り返し」できるオブジェクトが一覧表示されますメモリが私の右に役立つ場合、procの完全なテキストを取得するには – jcollum
申し訳ありませんが、INFORMATION_SCHEMA.ROUTINESではなくsys.syscommentsですが、長いprocsのフルテキストを取得するにはいくつかトリッキーが必要です。多くの企業はすでに – jcollum
ROUTINE_TYPE 、AS o.type_desc SELECTそれのためのPROCまたはスクリプトを周りに持っているの。[名前] [SCHEMA_NAME] AS、O。[名前] sys.sql_modules FROM ROUTINE_DEFINITION AS ROUTINE_NAME 、m.definition ASINNER JOIN sys.objects AS WITH(NOLOCK) ON m。[object_id] = o。[OBJECT_ID] INNER JOIN sys.schemas AS s WITH(NOLOCK) ON s。[schema_id] = o。[schema_id] –