次の方法で共有


データベースをシングル ユーザー モードに設定する

このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2014 でユーザー定義データベースをシングル ユーザー モードに設定する方法について説明します。 シングル ユーザー モードでは、一度に 1 人のユーザーのみがデータベースにアクセスでき、通常はメンテナンス アクションに使用されます。

このトピックについて

開始する前に

制限事項と制約条件

  • データベースをシングル ユーザー モードに設定した時点で他のユーザーがデータベースに接続されている場合、データベースへの接続は警告なしで閉じられます。

  • オプションを設定したユーザーがログオフした場合でも、データベースはシングル ユーザー モードのままです。 その時点で、別のユーザー (1 人のみ) がデータベースに接続できます。

[前提条件]

  • データベースを SINGLE_USER に設定する前に、AUTO_UPDATE_STATISTICS_ASYNC オプションが OFF に設定されていることを確認します。 このオプションを ON に設定すると、統計の更新に使用されるバックグラウンド スレッドはデータベースに対する接続を取得し、シングル ユーザー モードでデータベースにアクセスできなくなります。 詳細については、「ALTER DATABASE SET オプション (Transact-SQL)」を参照してください。

安全

権限

データベースに対する ALTER 権限が必要です。

SQL Server Management Studio の使用

データベースをシングル ユーザー モードに設定するには

  1. オブジェクト エクスプローラー で、 SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. 変更するデータベースを右クリックし、[ プロパティ] をクリックします。

  3. [データベースのプロパティ] ダイアログ ボックスで、 [オプション] ページをクリックします。

  4. [ アクセスの制限 ] オプションで、[ 単一] を選択します。

  5. 他のユーザーがデータベースに接続している場合は、[ 接続を開く] メッセージが表示されます。 プロパティを変更して他のすべての接続を閉じるには、[ はい] をクリックします。

この手順を使用して、データベースを複数または制限付きアクセスに設定することもできます。 [アクセスの制限] オプションの詳細については、「 データベースのプロパティ ([オプション] ページ)」を参照してください。

Transact-SQL の使用

データベースをシングル ユーザー モードに設定するには

  1. データベース エンジンに接続します。

  2. [標準] バーから、新しいクエリをクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。 次の使用例は、データベースを 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

こちらもご覧ください

データベースを変更 (Transact-SQL)