1

現在サード パーティのアプリで使用されている SQL Server データベースへのアクセス権が付与されています。そのため、そのアプリケーションがデータを保存する方法やデータを取得する方法に関するドキュメントはありません。

さまざまなテーブルの名前と、ユーザー定義関数が受け取って返すパラメーターに基づいていくつかのことを理解できますが、それでも 1 回おきにエラーが発生します。

出力を返すために指定されたパラメーターを使用してストアド関数が何をしているかを確認できれば、非常に役立つと考えていました。今のところ、入力パラメーターと出力列をクエリする方法しかわかりません。

information_schema関数が入力と出力の間で何をしているかを公開する組み込みのテーブルはありますか?

4

3 に答える 3

2

何らかの方法でデータベースに対してクエリを実行でき、システム カタログ ビューを読み取るために必要なアクセス許可を持っている場合、このクエリを実行して、名前、定義 (SQL コード)、およびその他の情報を取得できます。あなたの機能:

SELECT 
    obj.name ,
    obj.type ,
    obj.type_desc ,
    obj.create_date ,
    obj.modify_date ,
    m.definition ,
    m.is_schema_bound 
FROM 
    sys.objects obj
INNER JOIN 
    sys.sql_modules m ON obj.object_id = m.object_id
WHERE 
    obj.type IN ('AF', 'FN', 'FS', 'FT', 'IF', 'TF')
于 2010-04-26T05:03:57.890 に答える
0

もう 1 つの方法はsp_helptext、渡された SP または UDF のソースを表示する方法です。

sp_helptext fnBlaDeBla

于 2010-04-26T09:56:55.440 に答える
0

適切な権限があれば、すべてのストアド プロシージャと関数を簡単にスクリプト化できます。

SSMS (SQL Server Management Studio) でデータベースを右クリックし、[タスク] -> [スクリプトの生成] を選択し、データベースが強調表示されていることを確認して、[次へ] をクリックします。ストアド プロシージャと関数をスクリプト化するオプションが選択されていることを確認します。

SQL Server ライセンスを必要とせずに SSMS (クライアント ツール) をインストールできます。

于 2010-04-26T03:08:23.497 に答える