【SQL Server】データベースを一覧表示する select文でsys.databasesテーブルを参照する。その環境のSQL Serverのデータベースはインストール時に作成されるsys.databasesテーブルに格納されている。
1> select substring(name, 1, 12), database_id, create_date
2> from sys.databases;
3> go
database_id create_date
------------ ----------- -----------------------
master 1 2003-04-08 09:13:36.390
tempdb 2 2024-03-07 13:36:23.090
model 3 2003-04-08 09:13:36.390
msdb 4 2019-09-24 14:21:42.270
name列は文字の幅が長いため、substring関数で12文字の長さに縮めて表示している。master, tempdb, model, msdbの各データベースは、インストール時に自動で作成されたデータベースのこと。 試しにデータベースを作成して再度一覧表示してみる。
1> create database testdb;
2> go
1> select substring(name, 1, 6), database_id, create_date
2> from sys.databases;
3> go
database_id create_date
------ ----------- -----------------------
master 1 2003-04-08 09:13:36.390
tempdb 2 2024-03-07 13:36:23.090
model 3 2003-04-08 09:13:36.390
msdb 4 2019-09-24 14:21:42.270
testdb 5 2024-03-07 23:40:16.207
sys.databasesの詳細については、以下を参照のこと。
https://learn.microsoft.com/ja-jp/sql/relational-databases/system-catalog-views/sys-databases-transact-sql?view=sql-server-ver16