Domanda

posso usare:

select * from sys.tables

in MSSQL per visualizzare un elenco di tutte le tabelle del database corrente. C'è in ogni modo che posso usare una sintassi simile per visualizzare l'elenco delle tabelle in un altro database?

Di 'Sto usando A con:

use A

dichiarazione, posso mostrare le tabelle nel database B?

È stato utile?

Soluzione

Questo non fa per me (MS SQL 2005 e successivi):

select * from your_database_name.sys.tables

Tenete a mente che si (o qualunque contesto si sta utilizzando l'autenticazione) sarà comunque necessario il permesso di lettura su quel database.

Per usare il tuo esempio:

use a;
go

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

Altri suggerimenti

Un'altra possibilità è quella di utilizzare:

select * from your_database_name.information_schema.tables
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top