2008-12-23 9 views
8

puedo usar:¿Cómo se muestra una lista de tablas en otra base de datos?

select * from sys.tables 

en mssql para mostrar una lista de todas las tablas de la base de datos actual. ¿Hay alguna forma en que pueda usar una sintaxis similar para mostrar una lista de tablas en otra base de datos?

decir que estoy usando una con:

use A 

declaración, puedo mostrar tablas en la base de datos B?

Respuesta

15

Esto lo hace por mí (MS SQL 2005 y posteriores):

select * from your_database_name.sys.tables 

Tenga en cuenta que usted (o cualquier contexto que está utilizando autenticación) todavía tendrá permiso de lectura en la base de datos.

Para utilizar su ejemplo:

use a; 
go 

select * from sys.tables; -- selects table info from a 
select * from b.sys.tables; -- selects table info from b 
+1

La pregunta y la respuesta debe aclararse que es aplicable a MS-SQL 2005 y posteriores. –

0

Otra posibilidad es utilizar:

select * from your_database_name.information_schema.tables 
Cuestiones relacionadas