有没有办法在所有表中找到链接服务器数据库中的特定列。
我想解决方案在于
EXEC sp_columns_ex
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%'
这个怎么样:
EXECUTE [MyLinkedServer].[MyLinkedDB].dbo.sp_executesql
N'SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE ...'
并根据您要搜索的内容填写 where 子句?
另一种方法是创建一个从中选择的视图,INFORMATION_SCHEMA.COLUMNS
然后您查询该视图。
这取决于您的链接服务器指向哪个数据库。例如,如果是 Oracle,则使用 Oracle 语法,如果是 SQL Server,则使用 Sql Server 语法。
您通过链接服务器查询架构的事实应该无关紧要。