如果它是一个常规数据库,我可以简单地使用这个查询来获取所有表名和它们的数据库列名的列表。如何在SQL Server中列出链接服务器数据库的所有表和列名称?
use [my_database_name]
GO
SELECT sys.tables.name AS Table_Name,
sys.columns.name AS Column_Name,
sys.columns.max_length,
(schema_id) As Schema_name
FROM sys.tables
INNER JOIN sys.columns
ON sys.tables.OBJECT_ID=sys.columns.object_id
ORDER BY schema_name, sys.tables.name, sys.columns.name
但现在我需要连接到链接服务器数据库,因此'使用'不能使用。 还有别的办法吗?
在select语句中完全限定您的表。 '[linkedserver]。[databasename]。[dbo]。[tablename]' –
但是你应该别名你的表。 3(和4)部分命名在选择列表中已弃用。 –
目的是一次列出一个链接服务器数据库的每个表的每个列名。 WEI_DBA能让你更具体地了解你的答案吗? – user3486647