6

SQLServerデータベースに1000個のテーブルがあります。

アプリケーションで各テーブルが行うことの簡単な説明を追加したい場合、その情報を維持するために別のテーブルを作成する必要がありますか?それとも、これに対するより良い方法はありますか?

例えば ​​; テーブルがあり、[PurchaseOrdersConcrete]注意したい場合-このテーブルには、Fortune500企業のすべてのPOが格納されます。

この目的のために別のメタデータテーブルを作成する必要がありますか、それともNotesSQL Serverのどこかに---列がすでにありますか...(たとえばsys.tables)?

4

2 に答える 2

9

これは、拡張プロパティを介して行います。それらの使用法の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はそれ自体のメタデータの一部にそれらを利用します。それらが実際に動作していることを確認する方法はviews、SSMSのいずれかを確認することです。それを右クリックして、プロパティを選択します。次に、「拡張プロパティ」をクリックします。について何かを言っているエントリが表示される可能性がありますMS_DiagramPane???。これは、MSがビューのレイアウトを保存する場所であり、デザインモードでビューを開くたびに、前回と同じように表示されます。

これらはSQL2000までさかのぼって利用可能でしたが、最近では広く使用されています。

于 2012-10-19T18:13:51.967 に答える
1

RTHomasが提案したように、拡張プロパティを使用します。さらに、RedGates SQLDocツールを使用すると、これらのフィールドへの入力と保守が簡単になります。

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

完了したら、印刷されたドキュメントやWebドキュメントも作成されます。素晴らしいツール。

于 2012-10-19T18:42:23.910 に答える