我可以使用:
select * from sys.tables
在mssql中显示当前数据库中所有表的列表。反正我是否可以使用类似的语法来显示另一个数据库中的表列表?
说我正在使用A:
use A
语句,我可以在数据库B中显示表吗?
答案 0 :(得分: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
答案 1 :(得分:0)
另一种可能性是使用:
select * from your_database_name.information_schema.tables