SQL Server で現在使用中のすべてのデータベースを一覧表示する方法
SQL Server で現在のすべてのデータベース名を列挙するには、主に2つの方法があります。
- SQL Server Management Studio (SSMS) を使用する
- T-SQLクエリを使用する
ここでは、それぞれの方法について詳しく説明します。
方法 1: SSMS を使用する
- SSMS を起動し、SQL Server インスタンスに接続します。
- オブジェクト エクスプローラーで、データベース ノードまで展開します。
- データベース ノードの下には、現在のインスタンスにあるすべてのデータベースが一覧表示されます。
以下の T-SQLクエリを実行することで、現在のインスタンスにあるすべてのデータベース名を一覧表示できます。
SELECT name
FROM sys.databases
WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb');
クエリ解説
SELECT name
: この句は、sys.databases
テーブルからname
列の値を選択します。name
列には、データベース名が格納されています。FROM sys.databases
: この句は、クエリ対象のテーブルを指定します。ここでは、sys.databases
テーブルを参照します。このテーブルには、SQL Server インスタンスにあるすべてのデータベースに関する情報が格納されています。WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb')
: この句は、結果セットからmaster
、tempdb
、model
、msdb
の各データベースを除外します。これらのデータベースはシステムデータベースであり、通常はユーザーが操作するものではありません。
補足事項
- 上記のクエリは、現在のユーザーが少なくとも
VIEW ANY DATABASE
権限を持っていることを前提としています。この権限がない場合は、クエリを実行できないか、予期しない結果が返される可能性があります。 sys.databases
テーブルには、データベースに関するその他の情報も含まれています。例えば、データベース ID、作成日、所有者などが含まれます。これらの情報もクエリで取得できます。
SELECT name
FROM sys.databases
WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb');
解説
このクエリは以下の3つの句で構成されています。
実行方法
- 新しいクエリウィンドウを開きます。
- 上記のサンプルコードをクエリウィンドウに貼り付けます。
- 実行 ボタンをクリックします。
結果
クエリが正常に実行されると、現在のインスタンスにあるすべてのデータベース名が結果セットとして表示されます。
例
name
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL Server で現在のすべてのデータベース名を検索するその他の方法
ここでは、上記2つの方法に加えて、以下の2つの方法について説明します。
方法 3: システムストアド プロシージャ sp_databases を使用する
sp_databases
システムストアド プロシージャは、現在のSQL Serverインスタンスにあるすべてのデータベース名を一覧表示するために使用できます。このプロシージャを実行するには、以下のコマンドを実行します。
EXEC sp_databases
方法 4: MSSQLSERVER クラスを使用する (C#)
C#などのプログラミング言語を使用する場合は、MSSQLSERVER
クラスを使用して、現在のすべてのデータベース名をプログラムで取得できます。
以下のコード例は、C#を使用して MSSQLSERVER
クラスで現在のすべてのデータベース名を列挙する方法を示しています。
using System.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
// 接続文字列を指定します
string connectionString = "Data Source=localhost;Initial Catalog=master;Integrated Security=True";
// SqlConnection オブジェクトを作成します
using (SqlConnection connection = new SqlConnection(connectionString))
{
// 接続を開きます
connection.Open();
// SqlCommand オブジェクトを作成します
using (SqlCommand command = new SqlCommand("SELECT name FROM sys.databases", connection))
{
// SqlDataReader オブジェクトを取得します
using (SqlDataReader reader = command.ExecuteReader())
{
// 結果セットをループ処理します
while (reader.Read())
{
// データベース名をコンソールに出力します
Console.WriteLine(reader["name"].ToString());
}
}
}
}
}
}
- 上記の方法3と4は、より高度な方法であり、主に開発者によって使用されます。
- 方法1と2は、SQL Server の基本的な操作を理解しているユーザーであれば、簡単に実行できます。
どの方法を使用するかは、ユーザーのスキルレベル、要件、および好みによって異なります。
sql-server