即时更新表元数据

时间:2011-08-25 14:57:55

标签: sql sql-server tsql sql-server-2008 adhoc-queries

我们在每个表的扩展属性中放置一个唯一标识符,然后由某些报告读取。我希望能够动态地执行此操作,因此我们无需手动输入。但是,SQL Server 2008不允许对系统目录进行临时更新。

如何使用即席查询更新扩展属性?或者,是否有另一个地方可以存储元数据,以便报告可以轻松阅读?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

一个选项:

使用sp_addextendedproperty添加扩展属性(还有更新和删除过程)。这些要求增强了权利。

因此,您可以使用EXECUTE AS在另一个proc中包含对此的调用,以仅升级存储过程的权限。

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

EXEC sp_addextendedproperty ...
GO

或者使用你自己的表来保持这个。