2009-07-24 1 views
2

SQLステートメントを使用してSQL Server 2005をシングルユーザーモードにする方法(拡張が可能であれば)を知りたいですか?SQL Server 2005をシングルユーザーモードにするにはどのようなSQLが必要ですか?

これらの手順はMSDNで見つかりましたが、SSMSが必要です。

http://msdn.microsoft.com/en-us/library/ms345598(SQL.90,loband).aspx

*

は、オブジェクトエクスプローラで、シングルユーザーモード

  1. にデータベースを設定するSQL Server 2005のデータベースエンジンのインスタンスに接続し、そのインスタンスを展開します。
  2. 変更するデータベースを右クリックし、[プロパティ]をクリックします。
  3. [データベースのプロパティ]ダイアログボックスで、[オプション]ページをクリックします。
  4. [アクセスを制限する]オプションから[シングル]を選択します。
  5. 他のユーザーがデータベースに接続している場合は、Open Connectionsメッセージが表示されます。プロパティを変更し、他のすべての接続を閉じるには、[はい]をクリックします*

答えて

6

は以下の通り動作するはずです:。

ALTER DATABASE [MyDatabase] SET SINGLE_USER WITH NO_WAIT 
GO 

ALTER DATABASE [MyDatabase] SET MULTI_USER WITH NO_WAIT 
GO 

でマルチユーザ

に戻ってそれを設定します
+3

特定のデータベース内で現在進行中のトランザクションがあれば、このステートメントはFAILとなることに注意してください。このようなシナリオでは、ROLLBACK AFTERまたはROLLBACK IMMEDIATEを発行する必要があります。 –

0

データベース単位で、シングルユーザーモードを次のように設定できます。

ALTER DATABASE database_name SET SINGLE_USER 

他のユーザーがログインしてデータベースを使用している場合は、最初にspidsを終了させる必要があります。それ以外の場合は失敗します。基本的にsysprocessesからSELECTしたスクリプトを作成し、ターゲットdbidに対してリストされた各SPIDに対してKILLコマンドを発行することができます。

alter database adventureWorks set SINGLE_USER with rollback after 60 seconds 
+0

絶対に必要な場合を除いて、SPIDを殺すことが良いアイデアであるかどうかはわかりません。 – Frozenskys

+0

このデータベースを利用しています。 もっと真剣に、ええ、それは死ぬのが安全であることを確認する価値があります。私はdevデータベースで作業することに慣れています。だから、いくつかの開発者に十分な警告を与えてから接続を断念させることは、通常は失われた原因です。 –

+0

ROLLBACKを使用して、SPIDごとにKILLを発行しないようにします。再接続する可能性があります。 – gbn

0

では、すでに次発行することができます正常に完了したトランザクションを実行するための十分な時間を提供したいなら

alter database adventureWorks set SINGLE_USER with rollback immediate 

てみmsdn

alter database X 
set single_user 
5

を参照してください。これらのコマンド:

ALTERデータベースが[DBNAME] MULTI_USER WITH NO_WAITをNO_WAIT

又は

EXECのsp_dboptionを 'DBNAME'、 '単一のユーザー'、 '偽'

WITH

ALTERデータベース[DBNAME]のSET SINGLE_USERを設定します

のEXEC sp_dboptionを 'DBNAME'、 '単一のユーザー'、 'true' に

で:

http://www.kodyaz.com/articles/alter-single-user-multi-user-mode.aspx

お試しください。

0

私が見つけた:

関連する問題