データベースをシングル ユーザー モードに設定する
このトピックでは、SQL Server Management Studioまたは Transact-SQL を使用して、SQL Server 2014 でユーザー定義データベースをシングル ユーザー モードに設定する方法について説明します。 シングル ユーザー モードでは、一度に 1 人のユーザーだけがデータベースにアクセスでき、一般にはメンテナンス操作のために使用されます。
このトピックの内容
作業を開始する準備:
以下を使用してデータベースをシングル ユーザー モードに設定するには:
はじめに
制限事項と制約事項
データベースをシングル ユーザー モードに設定したときに他のユーザーがデータベースに接続していると、データベースに対する接続は警告なく切断されます。
このオプションを設定したユーザーがログオフしても、データベースはシングル ユーザー モードのままです。 そのユーザーがログオフした時点で、他のユーザーが 1 人だけデータベースに接続できます。
前提条件
- データベースを SINGLE_USER に設定する前に、AUTO_UPDATE_STATISTICS_ASYNC オプションが OFF に設定されていることを確認します。 このオプションが ON に設定されていると、統計の更新に使用されるバックグラウンド スレッドによってデータベースへの接続が使用されるため、シングル ユーザー モードではデータベースにアクセスできなくなります。 詳細については、「ALTER DATABASE SET オプション (Transact-SQL)」を参照してください。
Security
アクセス許可
データベースに対する ALTER 権限が必要です。
SQL Server Management Studio を使用する
データベースをシングル ユーザー モードに設定するには
オブジェクト エクスプローラーで、 SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
変更するデータベースを右クリックして、 [プロパティ]をクリックします。
[データベースのプロパティ] ダイアログ ボックスで、 [オプション] ページをクリックします。
[アクセスの制限] オプションで、 [Single]をクリックします。
他のユーザーがデータベースに接続していると、 "接続を開く" というメッセージが表示されます。 プロパティを変更して他のすべての接続を閉じるには、 [はい]をクリックします。
この手順を使用して、データベースを複数アクセス モードまたは制限アクセス モードに設定することもできます。 [アクセスの制限] オプションの詳細については、「 データベースのプロパティ ([オプション] ページ)」を参照してください。
Transact-SQL の使用
データベースをシングル ユーザー モードに設定するには
データベース エンジンに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 この例では、排他的アクセスを取得するために、データベースを
SINGLE_USER
モードに設定します。 次に、 AdventureWorks2012 データベースの状態を にREAD_ONLY
設定し、データベースへのアクセス権をすべてのユーザーに返します。終了オプションWITH ROLLBACK IMMEDIATE
は、最初ALTER DATABASE
のステートメントで指定します。 これですべての未完了のトランザクションがロールバックされ、 AdventureWorks2012 データベースへの他のすべての接続は直ちに解除されます。
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO