6

有没有办法在所有表中找到链接服务器数据库中的特定列。

我想解决方案在于

EXEC sp_columns_ex 
4

3 回答 3

8
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%'
于 2012-10-09T16:34:15.893 回答
1

这个怎么样:

EXECUTE [MyLinkedServer].[MyLinkedDB].dbo.sp_executesql
   N'SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE ...'

并根据您要搜索的内容填写 where 子句?

另一种方法是创建一个从中选择的视图,INFORMATION_SCHEMA.COLUMNS然后您查询该视图。

参考Information_Schema.Columns

于 2012-10-09T15:23:45.230 回答
1

这取决于您的链接服务器指向哪个数据库。例如,如果是 Oracle,则使用 Oracle 语法,如果是 SQL Server,则使用 Sql Server 语法。

您通过链接服务器查询架构的事实应该无关紧要。

于 2012-10-09T15:28:36.470 回答