0

データベース内のすべてのテーブルを表示するレポートを生成したいと考えています。レポートは、テーブルごとに、参照しているテーブルと参照元のテーブルを文書化します。また、参照に使用される外部キーも含まれます。

以前にRed Gate SQL Dependency Trackerを使用してみましたが、読みやすく、使用可能なレポートが得られました。不足していたのは、各テーブルの関連付けの外部キーだけでした。

誰かが私がやりたいことを実行できる優れた代替ソフトウェアである場合、または何らかの形で代替方法を提供できる場合は、非常に感謝しています! これの私の主な目的は、実際には、顧客が DB 内の相互接続を理解できるように、何らかの形式の読み取り可能なスキーマを顧客に提供することです... データベース図を使用してみましたが、読みやすさ。

ありがとう!

4

5 に答える 5

1

依存関係トラッカーはデフォルトでは外部キーを表示しませんが、[制約をオブジェクトとして表示]ボタンをクリックすると表示されます。

于 2013-01-15T09:17:25.373 に答える
1

このスクリプトを使用して、システム カタログ ビューの一部を照会します

SELECT 
    fk.name 'FK Name',
    tpar.name 'Parent Table',
    colpar.name 'Parent Column',
    tref.name 'Referenced Table',
    colref.name 'Referenced Column',
    fk.delete_referential_action_desc 'Delete Action',
    fk.update_referential_action_desc 'Update Action'
FROM
    sys.foreign_keys fk
INNER JOIN 
    sys.foreign_key_columns fkc ON fkc.constraint_object_id = fk.object_id
INNER JOIN 
    sys.tables tpar ON fk.parent_object_id = tpar.object_id
INNER JOIN 
    sys.columns colpar ON fkc.parent_object_id = colpar.object_id AND fkc.parent_column_id = colpar.column_id
INNER JOIN 
    sys.tables tref ON fk.referenced_object_id = tref.object_id
INNER JOIN 
    sys.columns colref ON fkc.referenced_object_id = colref.object_id AND fkc.referenced_column_id = colref.column_id

次のような出力が生成されます。

FK Name   Parent Table   Parent Column   Referenced Table   Referenced Column   Delete Action   Update Action

これは私にとって非常にうまく機能します。自分のニーズに合わせて自由に調整してください。

于 2013-01-15T05:35:25.963 に答える
0

ApexSQL Cleanを試しましたか? すべての参照を視覚的に表示したり、すべての関係を掘り下げたりするオプションがあります...

すべてのデータを表示するドキュメントのみを作成することが目標である場合は、いくつかのドキュメント ツールを検討する必要があります。これらのツールは数多くあります。私は ApexSQL Doc を使用していますが、他の大手ベンダーの一般的なツールを使えば間違いはないと思います。

于 2013-02-03T13:46:18.033 に答える
0

一日の終わりにToad for SQL Serverを使用しました。データベースのドキュメントは実際にはエース標準ではないかもしれませんが、Red Gate のものよりもカスタマイズ可能です。レポート ジェネレーターを使用して、各外部キーの依存関係と、それらが参照する列を見つけることができました...

すべての回答に感謝します。貴重な洞察を提供してくれました。

于 2013-02-24T20:59:51.420 に答える
0

sp_help <table_name>テーブルが参照する外部キーと、その列を外部キーとして参照するテーブルを出力します。クエリsys.tablesを実行して使用するとsp_help、必要なすべての情報が得られます。

于 2013-01-15T02:28:32.583 に答える