SQL Server データベースをシングルユーザーモードからマルチユーザーモードに設定する方法

2024-04-02

SQL Server データベースは、シングルユーザーモードとマルチユーザーモードの2つのモードで動作できます。

  • シングルユーザーモード: 1人のユーザーのみがデータベースにアクセスできるモードです。データベースの復旧やメンテナンス作業を行う際に使用されます。
  • マルチユーザーモード: 複数のユーザーが同時にデータベースにアクセスできるモードです。通常の運用ではこのモードを使用します。

このページでは、シングルユーザーモードで起動しているデータベースをマルチユーザーモードに設定する方法について解説します。

方法

データベースをシングルユーザーモードからマルチユーザーモードに設定するには、以下の2つの方法があります。

SQL Server Management Studio (SSMS) を使用する

  1. SSMS を起動し、データベースエンジンに接続します。
  2. オブジェクトエクスプローラーで、モードを変更するデータベースを右クリックし、「プロパティ」を選択します。
  3. 「オプション」ページで、「シングルユーザーモード」設定を「False」に変更します。
  4. OK をクリックして、変更を保存します。

T-SQL コマンドを使用する

  1. SQL Server Management Objects (SMO) を使用して、データベースに接続します。
  2. 以下の T-SQL コマンドを実行します。
ALTER DATABASE <データベース名> SET SINGLE_USER OFF;

注意事項

  • シングルユーザーモードからマルチユーザーモードに設定すると、接続しているすべてのユーザーがデータベースから切断されます。
  • マルチユーザーモードに設定する前に、データベースのバックアップを取っておくことをお勧めします。
  • 上記の方法以外にも、レジストリエディタを使用してシングルユーザーモードを設定することもできます。ただし、レジストリの設定を変更する際には、十分に注意してください。
  • 詳細については、Microsoft のドキュメントを参照してください。



USE [AdventureWorks2019]

ALTER DATABASE AdventureWorks2019 SET SINGLE_USER OFF;

このコードを実行すると、AdventureWorks2019 データベースがシングルユーザーモードからマルチユーザーモードに設定されます。

  • このコードを実行する前に、AdventureWorks2019 データベースに接続しているすべてのユーザーが切断されていることを確認してください。



他の方法

  1. スタート メニューを開き、「regedit」と入力します。
  2. レジストリエディタ を起動します。
  3. 以下のキーに移動します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQLServer
  1. MSSQLServer キーがない場合は作成します。
  2. MSSQLServer キーを右クリックし、新規 > DWORD (32 ビット) 値 を選択します。
  3. 新しい値の名前を SingleUserMode に変更します。
  4. SingleUserMode をダブルクリックし、値を 0 に設定します。
  5. コンピュータを再起動します。
  • レジストリの設定を変更する際には、十分に注意してください。
  • 間違った設定をすると、SQL Server が起動しなくなる可能性があります。

サービスコントロールマネージャーを使用する

  1. サービス コンソールを開きます。
  2. SQL Server サービスを右クリックし、プロパティ を選択します。
  3. ログオン タブで、このアカウントでログオン: オプションを選択し、ローカル システム アカウントを選択します。
  4. SQL Server サービスを再起動します。
  • この方法を使用するには、SQL Server サービスがローカル システムアカウントで実行されている必要があります。

sql sql-server


SQL Server DateTime 型から日付のみを取得する方法

SQL Server の DateTime 型は、日付と時刻の両方を表すデータ型です。しかし、場合によっては日付のみが必要になることがあります。このチュートリアルでは、DateTime 型から日付のみを取得する 3 つの方法を紹介します。方法 1: CONVERT 関数を使う...


迷ったらコレ!MySQLにおける外部キー制約のON UPDATEとON DELETEオプションの使い分け

MySQLで外部キー制約を使用する際、ON UPDATEとON DELETEオプションは、親テーブルのデータ更新・削除時の関連テーブルのデータ処理方法を指定します。適切なオプションを選択することで、データ整合性を維持し、予期せぬデータ損失を防ぐことができます。...


ブラウザの履歴やスクリーンショットからSQLクエリを復元する方法

SQL Server Management Studio (SSMS) やその他のツールを使用しているときに、誤って SQL クエリ スクリプトを保存せずに閉じてしまった場合、復元できる可能性があります。 いくつかの方法があり、状況によって最適な方法が異なります。...


インデックス付きルックアップ:高速で効率的

EXISTS 句最も一般的な方法は、EXISTS 句を使用することです。これは、指定された条件に一致するレコードが少なくとも1つ存在するかどうかを確認するものです。構文は次のとおりです。この方法はシンプルで分かりやすいですが、すべてのレコードをスキャンする必要があるため、大きなテーブルの場合は非効率になる可能性があります。...