SQL Server データベース内の参照頻度の高いテーブルを削除する必要があります。テーブルを削除するために削除する必要があるすべての外部キー制約のリストを取得するにはどうすればよいでしょうか?
(管理スタジオの GUI でクリックするよりも、SQL の回答の方が優れています。)
ベストアンサー1
なぜ誰も提案しなかったのか分かりませんが、私はsp_fkeys
特定のテーブルの外部キーをクエリするために使用しています:
EXEC sp_fkeys 'TableName'
スキーマを指定することもできます。
EXEC sp_fkeys @pktable_name = 'TableName', @pktable_owner = 'dbo'
スキーマを指定しないと、ドキュメント次のことを述べます。
pktable_owner が指定されていない場合は、基礎となる DBMS のデフォルトのテーブル可視性ルールが適用されます。
SQL Server では、現在のユーザーが指定された名前のテーブルを所有している場合、そのテーブルの列が返されます。pktable_owner が指定されておらず、現在のユーザーが指定された pktable_name のテーブルを所有していない場合、プロシージャはデータベース所有者が所有する指定された pktable_name のテーブルを検索します。存在する場合、そのテーブルの列が返されます。