有没有办法在所有表中的Linked Server数据库中找到特定列。
我猜解决方案在于
EXEC sp_columns_ex
答案 0 :(得分:7)
SELECT t.name as TableName, c.name as ColumnName
FROM servernamehere.databasenamehere.sys.columns c
INNER JOIN servernamehere.databasenamehere.sys.tables t ON c.object_id = t.object_id
WHERE c.name like '%yoursearchhere%'
答案 1 :(得分:1)
这个怎么样:
EXECUTE [MyLinkedServer].[MyLinkedDB].dbo.sp_executesql
N'SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE ...'
根据您要搜索的内容填写where子句?
另一种方法是创建一个从INFORMATION_SCHEMA.COLUMNS
中选择然后再查询的视图。
答案 2 :(得分:0)
这取决于您的链接服务器指向哪个数据库。例如,如果是Oracle,则使用Oracle语法(如果是SQL Server,Sql Server语法)。
您通过链接服务器查询架构这一事实无关紧要。