9

我可以用:

select * from sys.tables

在 mssql 中显示当前数据库中所有表的列表。无论如何我可以使用类似的语法来显示另一个数据库中的表列表吗?

假设我正在使用 A :

use A

语句,我可以显示数据库 B 中的表吗?

4

2 回答 2

16

这对我有用(MS SQL 2005 和更新版本):

select * from your_database_name.sys.tables

请记住,您(或您正在使用的任何身份验证上下文)仍需要对该数据库的读取权限。

要使用您的示例:

use a;
go

select * from sys.tables; -- selects table info from a
select * from b.sys.tables; -- selects table info from b
于 2008-12-23T18:23:59.403 回答
0

另一种可能性是使用:

select * from your_database_name.information_schema.tables
于 2009-04-21T12:03:12.687 回答