Liste les bases et tables sur sqlser 200

xzonz Messages postés 103 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 23 novembre 2022 - 29 juil. 2010 à 19:39
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 29 juil. 2010 à 21:38
bonjour a toutes et tous

ma question est simple (à poser du moins !)

est il possible en une seule requete
de lister toutes les bases d'un serveur sql
avec leurs tables.

si non

comment peut on récupérer la liste des tables d'une base avec le nom de la base ou en l'id de la base ... j'ai cherché en vain dans master
sur quel critère faire une jointure.

Merci de votre aide

5 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
29 juil. 2010 à 20:30
Bonjour,

En un seule requête je ne pense pas (ou en tout cas ne connait pas la solution).

Pour la seconde question : DB_ID() et DB_NAME() donneront ces informations, dans le contexte d'exécution de la requête.


/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 juil. 2010 à 20:45
En une seule requete,
- Toutes les bases, OUI
- Toutes les tables d'une base, OUI

Toutes les tables de toutes les bases aussi, en faisant des jointures mais ça risque de devenir un foutoir. Il vaut mieux découper tout ça en plusieurs requêtes.

Tout se passe dans la base Master.
Pour SQLServer 2000, c'est encore dans des tables me semble t-il. A partir de SQLServer 2005, ces tables-là sont masquées et inaccessibles. Elles ont été remplacées par des vues qui renvoient les données, en lecture seule.

[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
29 juil. 2010 à 21:08
Ha, dans ce cas là j'ai moi aussi ratée la colonne permettant de faire la jointure entre sys.databases et sys.tables :-)

/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 juil. 2010 à 21:20
Exact, sys.tables est à lire dans chacune des bases et non pas dans la master.

Il doit être possible de faire une requete interbases mais ça complique grandement les choses

Je confirme donc, il vaut mieux découper tout ça en plusieurs requetes


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
29 juil. 2010 à 21:38
Dommage, j'aurais aimé avoir tord ^^ (ça pourrait être utile pour sortir quelques stats).
Je ne voyais pas de solution sans SQL dynamique (dans la limite du nombre de UNION combinables) et/ou structure de type WHILE ou CURSOR.


/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous