0

各テーブルの拡張プロパティに一意の識別子を配置し、一部のレポートで読み取ります。これをオンザフライで実行できるようにしたいので、手で入力する必要はありません。ただし、SQL Server 2008 では、システム カタログのアドホック更新は許可されていません。

アドホック クエリで拡張プロパティを更新するにはどうすればよいですか? または、レポートで簡単に読み取れるメタデータを保存できる別の場所はありますか?

どんな助けでも大歓迎です。

4

1 に答える 1

2

1 つのオプション:

拡張プロパティは、sp_addextendedpropertyを使用して追加されます (更新およびドロップ プロシージャもあります)。ただし、これらには拡張された権利が必要です。

したがって、 EXECUTE ASを使用して別の proc でこれへの呼び出しをラップし、ストアド プロシージャのみの権利をエスカレートできます。

CREATE PROC dbo.OurMetaDataUpdate
   @tablename ...
   @uniqueid ...
WITH EXECUTE AS OWNER
AS
SET NOCOUNT ON

EXEC sp_addextendedproperty ...
GO

それか、独自のテーブルを使用してこれを維持してください。

于 2011-08-25T15:06:29.473 に答える