1. ホーム
  2. sql-server

[解決済み】シングルユーザーモードを終了する

2022-04-02 22:19:36

質問

現在、私のデータベースはシングルユーザーモードになっています。データベースを拡張しようとすると、エラーが発生します。

<ブロッククオート

データベース 'my_db' にはアクセスできません(ObjectExplorer)

また、データベースを削除しようとすると、エラーが発生します。

データベース 'my_db' の状態またはオプションの変更は、現在行えません。 このとき このデータベースはシングルユーザーモードで、あるユーザーが が接続されています。

シングルユーザーモードから抜けるにはどうすればよいですか?このデータベースを使用しているユーザーはいません。

IISで私のサイトを閲覧しようとすると、エラーが発生します。

の実行中に処理されない例外が発生しました。 現在の Web リクエスト。リクエストの送信元と送信先に関する情報 例外は以下の例外スタックトレースで確認することができます。

シングルユーザーモードが原因になっているような気がします。

解決方法は?

SSMSは一般的に、裏でデータベースへの複数の接続を使用します。

アクセスモードを変更する前に、これらの接続を切断する必要があります。

まず、オブジェクトエクスプローラがmasterのようなシステムデータベースを指していることを確認します。

次に sp_who2 を実行し、データベース 'my_db' へのすべての接続を見つけます。 以下のようにして、すべての接続を切断します。 KILL { session id } ここで、セッションIDは SPID でリストアップされます。 sp_who2 .

3つ目は、新しいクエリウィンドウを開くことです。

以下のコードを実行します。

-- Start in master
USE MASTER;

-- Add users
ALTER DATABASE [my_db] SET MULTI_USER
GO

私の ブログ記事 データベースファイルの管理について これはファイルを移動するために書かれたものですが、ユーザー管理も同じです。