Comment obtenir tous les noms de base de données dans une instance de serveur SQL à l'aide de tsql?
SELECT * FROM sys.databases
---- Procédures système SQL SERVER 2005
EXEC sp_databases
EXEC sp_helpdb
---- La méthode SQL 2000 fonctionne toujours dans SQL Server 2005
SELECT name
FROM sys.databases
SELECT name
FROM sys.sysdatabases
---- SQL Server Procédure non documentée
EXEC sp_msForEachDB 'PRINT ''?'''
en savoir plus sur la base de données: http://blog.sqlauthority.com/2007/05/12/sql-server-2005-list-all-the-database/
cela devrait fonctionner sur à peu près n'importe quelle version du serveur SQL
USE master;
SELECT NAME FROM sysdatabases;
[modifier: cela pourrait être aussi SELECT NAME FROM sys.databases
, le site Web de Microsoft dit les deux et je ne suis pas sur mon Windows Box pour tester, désolé!]
vous pouvez également utiliser (sql 2005 uniquement)
USE master;
EXEC sp_databases;
Et pour une utilisation pratique ajouté quelques filtres communs:
select database_id, [name] database_name
from master.sys.databases
WHERE state <> 6 -- skip offline
AND database_id > 4 -- skip system dbs
AND HAS_DBACCESS([name]) = 1 -- with User Access