Come si fa a mostrare un elenco delle tabelle in un altro database?
-
23-08-2019 - |
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?
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