6

SQL Serverデータベースには1000個のテーブルがあります。SQL Server - テーブルメタデータ

アプリケーションで各テーブルの機能を簡単に説明したい場合は、その情報を保持する別のテーブルを作成する必要がありますか?それとももっと良い方法がありますか?

たとえば、テーブル[PurchaseOrdersConcrete]があり、それに注意したいと思います。このテーブルには、Fortune500企業のすべてのPOが保存されます。

は、私は、この目的のために別のメタデータテーブルを作成する必要があり、またはそこにある - Notes - コラムsomwhere SQL Serverですでに...(sys.tablesで言いますか)?

答えて

9

拡張プロパティを使用します。 usage of them can be found hereのmsdnの概要。私はあなたが上で説明した正確な目的のためにそれらを使用しました。

それらを管理するための最も簡単な方法は、あなたのオブジェクトを右クリックし、プロパティを選択直接SSMS内にあります。しかし、tsqlを使用してアプリケーション内で作業することもできます。

新しい拡張プロパティを追加するには、sp_addextendedpropertyを使用します。

既存の拡張プロパティを取得するには、次の例に示すように、::fn_listextendedpropertyをクエリするのが一般的です。

SELECT objType, objName, Type, Value 
FROM ::fn_listextendedproperty (null, 'user', 
'dbo', 'table','<your table>', null, null) 

を更新し、それらの操作を削除sp_updateextendedpropertyを使用して可能になるとsp_dropextendedproperty


さらに、SSMSは、それ自身のメタデータのいくつかのためにそれらを使用しています。実際にそれらを見る方法はSSMSのあなたのviewsの1つを見ます。それを右クリックしてプロパティを選択します。次に、[拡張プロパティ]をクリックします。おそらくMS_DiagramPane???について何かを記したエントリが表示されます。これは、MSがビューのレイアウトを保存する場所で、デザインモードでビューを開くたびに前回と同じように表示されます。

これらは、far back as SQL2000として入手可能ですが、最近普及しています。

1

RTHomasが示唆したように、それは簡単にあなたがそれらのフィールドを移入し、維持するために作るだろうより良い利用RedGatesのSQLDocツールを拡張プロパティを使用します。

http://www.red-gate.com/products/sql-development/sql-doc/

それも生産は、印刷および/またはウェブあなたが完了したらあなたのためのドキュメンテーション。素晴らしいツール。