我们在每个表的扩展属性中放置了一个唯一标识符,然后一些报告会读取该标识符。我希望能够即时执行此操作,因此我们不必手动输入。但是,SQL Server 2008 不允许对系统目录进行临时更新。
如何使用即席查询更新扩展属性?或者,是否有其他地方可以存储元数据,以便报表轻松读取?
任何帮助是极大的赞赏。
我们在每个表的扩展属性中放置了一个唯一标识符,然后一些报告会读取该标识符。我希望能够即时执行此操作,因此我们不必手动输入。但是,SQL Server 2008 不允许对系统目录进行临时更新。
如何使用即席查询更新扩展属性?或者,是否有其他地方可以存储元数据,以便报表轻松读取?
任何帮助是极大的赞赏。
一种选择:
使用sp_addextendedproperty添加扩展属性(也有更新和删除过程)。但是,这些需要增强的权限。
因此,您可以使用EXECUTE AS将对此的调用包装在另一个 proc 中,以仅升级存储 proc 的权限。
CREATE PROC dbo.OurMetaDataUpdate
@tablename ...
@uniqueid ...
WITH EXECUTE AS OWNER
AS
SET NOCOUNT ON
EXEC sp_addextendedproperty ...
GO
要么,要么使用您自己的表来维护它。