我们在每个表的扩展属性中放置一个唯一标识符,然后由某些报告读取。我希望能够动态地执行此操作,因此我们无需手动输入。但是,SQL Server 2008不允许对系统目录进行临时更新。
如何使用即席查询更新扩展属性?或者,是否有另一个地方可以存储元数据,以便报告可以轻松阅读?
非常感谢任何帮助。
答案 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
或者使用你自己的表来保持这个。