SQL Server 2008データベースを強制的にオフラインにする方法


106

何を使用しているか、すでに誰が使用しているかに関係なく、データベースを強制的にオフラインにするにはどうすればよいですか?

私は試した:

ALTER DATABASE database-name SET OFFLINE;

しかし、7分経過してもまだぶら下がっています。

これは、シナリオをテストする必要があるためです。

それさえ可能なら?

回答:


186

オフラインにする

USE master
GO
ALTER DATABASE YourDatabaseName
SET OFFLINE WITH ROLLBACK IMMEDIATE
GO

オンライン化する

USE master
GO
ALTER DATABASE YourDatabaseName
SET ONLINE
GO

8
@radbyx:MSDNはmasterDBの状態を操作するときに使用するように言っています
abatishchev

17
@radbyx:MY_DATABASEを使用する場合、ALTER DATABASE MY_DATABASE SET OFFLINEを使用しているため失敗します!はい、私はちょうどそれに
悩まさ

10
データベース 'MyDatabase'にロックを設定できなかったため、メッセージ5061、レベル16、状態1、行1のALTER DATABASEは失敗しました。あとでもう一度試してみてください。メッセージ5069、レベル16、状態1、行1のALTER DATABASEステートメントが失敗しました。
アンデス

6
私はあなたがまだスケジュールされたジョブ・マシンまたはミドルティアのものからいくつかの頑固な接続を確認し、それらを取り除くためにSPID番号とKILLを実行する「アクティブsp_who2」/「sp_whoisactive」を使用する必要が出現箇所を見てきました
クリス・ウッド

24

WITH ROLLBACK IMMEDIATE他の接続を起動するためにを使用する必要があります。何を、または誰がすでにそれを使用しているかは関係ありません。

またはWITH NO_WAIT、既存の接続をハングさせたり、強制終了したりしないようにするために使用します。詳細については、http://www.blackwasp.co.uk/SQLOffline.aspxを参照してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.