我想在SQL Server(2008 +)中执行以下操作:
定义一个视图,让我们称之为[MySchema].[MyTableInfo]
,查询SQL Server目录视图,例如[sys].[tables]
,以获取底层目录元数据的自定义表示。
在某处(master
?)安装此视图,以便可以从服务器上任何数据库的上下文中调用它,并返回适合该上下文的元数据,就像目录视图一样。
我已经看到了使用实用程序存储过程执行类似操作的技术,但这有点不同。我想做什么?如果是这样,怎么样?
更新: 我找到了article ,它描述了如何使用存储过程几乎完全按照我的要求进行操作。例程存储在master数据库中并标记为系统对象。当它们从目录视图/信息模式返回元数据时,在当前数据库的上下文中执行此操作。
使用存储过程执行这些查询对我的用例非常不方便;有没有办法将视图和/或表值函数标记为系统对象,并让它们在调用数据库的上下文中执行?我已经破解了这个没有成功......