如何从表同义词中获取列元数据

Pro*_*ofK 5 sql sql-server synonym

如何从SQL Server 2005 数据库中的表同义词确定列元数据?对于名为“Project”的表,我有一个名为“ProjectSyn”的同义词,但我找不到该同义词的列元数据。

我的猜测是在某处确定同义词的“基表”,然后查询该表的列元数据。这是一个正确的方法,如果不是,那会是什么?

Jon*_*oln 1

像这样的东西吗?(已编辑)

select c.*
from
   sys.columns c
   inner join sys.synonyms s on c.object_id = object_id(s.base_object_name)
where
   s.name = 'ProjectSyn'
Run Code Online (Sandbox Code Playgroud)

  • 当然,如果同义词是同一服务器上不同数据库中的对象,甚至是链接服务器上的对象,则不会返回任何内容。另请注意,如果同义词是使用括号创建的,如“[ProjectSyn]”中那样,则 base_object_name 列也需要包含这些内容。 (2认同)