¿Cómo puedo obtener todos los nombres de base de datos en una instancia de sql server usando tsql?


¿Cómo puedo obtener todos los nombres de bases de datos en una instancia de sql server usando tsql?

Author: Ben Cameron, 2010-05-25

4 answers

SELECT * FROM sys.databases
 62
Author: Thomas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-25 07:03:17

- - - - Procedimientos del sistema SQL SERVER 2005

EXEC sp_databases
EXEC sp_helpdb

- - - - El método SQL 2000 todavía funciona en SQL Server 2005

SELECT name
FROM sys.databases
SELECT name
FROM sys.sysdatabases

- - - - Procedimiento no documentado de SQL SERVER

EXEC sp_msForEachDB 'PRINT ''?'''

Para saber más sobre la base de datos: http://blog.sqlauthority.com/2007/05/12/sql-server-2005-list-all-the-database /

 13
Author: Pranay Rana,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-25 07:09:00

Esto debería funcionar en casi cualquier versión de sql server

USE master;
SELECT NAME FROM sysdatabases;

[editar: podría ser SELECT NAME FROM sys.databases también, el sitio web de Microsoft dice ambos y no estoy en mi cuadro de Windows para probar, lo siento!]

También podría usar (solo sql 2005)

USE master;
EXEC sp_databases;
 4
Author: oedo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-25 07:03:44

Y para uso práctico añadido un par de filtros comunes:

  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
 0
Author: Mike S,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-10-05 22:49:40