SQLCLRオブジェクトにはT-SQLコードがないため、sys.* _sql_modules
DMVまたはOBJECT_DEFINITION()
組み込み関数を使用して検索することはできません。
アセンブリ内にある基礎となる.NETコードが必要な場合は、sys.assembly_files
にあります。
SELECT *
FROM sys.assembly_files
WHERE [file_id] = 1;
ソースコードがない場合は、アセンブリを逆アセンブルして抽出できます。
あなたは、いくつかのDMVからつなぎ合わせする必要があるであろう、その後CREATE PROCEDURE ... AS EXTERNAL NAME ... ;
文の場合:sys.assembly_modules
を、sys.types
、sys.parameters
、sys.columns
。また、OBJECT_NAME
とOBJECT_SCHEMA_NAME
の組み込み関数を使用する必要があります。 CREATE TYPE
文を再作成する場合は、sys.assembly_types
DMVを確認する必要があります。
また、一般的なSQLCLRの使用方法の詳細については、SQL Server Centralのこのトピックに関する記事を参照してください。Stairway to SQLCLR(内容を読むには無料登録が必要です)。
書きましたが、ソースコードがあります。あなたは何をしようとしているのですか? –
@BenThulそうではありません。できるだけ多くのことを学ぼうとしています。 私は自分でSQL CLRを学んでいるので、スカラー関数(SQLのもの)を探しているsys.sql_modulesをチェックしていて、そこにCLRオブジェクトに関することは何もないことに気付いたのは奇妙なことです。それが実際にそれを得ることができたかどうか疑問に思った。 – soulblazer
@soulblazer私は一点を明確にするために私の答えを更新しました。人々にSQLCLRの使い方を学ぶのを助けるために書いている一連の記事へのリンクを追加しました:-)。 –