如何从链接服务器获取SQL表信息?我有一张名为"地址"它位于远程服务器上,该服务器链接在"服务器对象" - >"链接服务器"之间。我需要知道有关该表的信息。我试过exec sp_help'地址' 但它不适用于远程服务器。
答案 0 :(得分:4)
您可以使用完全限定的域名从链接的服务器访问INFORMATION_SCHEMA视图。因此,例如,数据类型和列将是这样的:
SELECT * FROM MYLINKEDSERVER.MYDATABASE.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Address'
答案 1 :(得分:1)
您可以将OpenQuery与远程数据库上的系统表一起使用。这是一个基本示例,但您构建它以查询其他系统表以获取依赖关系等。
Select *
From OpenQuery([TargetServer], 'Select ss.name As SchemaName,
so.name As OjbectName,
sc.name As ColumnName,
st.name As ColumnDataType
From [TargetDatabase].sys.sysobjects so
Join [TargetDatabase].sys.syscolumns sc
On so.id = sc.id
Join [TargetDatabase].sys.schemas ss
On so.uid = ss.Schema_ID
Join [TargetDatabase].sys.types st
On sc.xtype = st.system_type_id
Where so.name = ''TableName''')