2012-07-09 11 views
9

現在使用中のエラーが表示されたときにDBを切り離そうとしていました。したがって、私は私のDBをオフラインにしようとしたが、それは私が試してみて、それがアクセス可能ではないと言うDBにアクセスする場合は今「オフラインにする」処理が失敗した後、データベースにアクセスできない

'an exception occured while executing a transact SQL statement or batch 

-> ALTER DATABASE failed because a lock could not be placed on database 'myDB'. Try again later. 
    ALTER DATABASE statement failed. (Microsoft SQL Server, Error: 5061)' 

を言って失敗しました。 DBをもう一度アクセス可能にするにはどうすればよいですか?

私の目的は、DBを切り離し、そのセカンダリデータベースファイルを新しいドライブに再配置し、それを(スペースの問題が原因で)再接続することでした。

答えて

12

次の手順を試してください。

  1. services.mscコンソールを使用してSQL Serverサービスを再起動します。
  2. SQL Server Management Studioを使用してサーバーに接続します。クエリアナライザで
  3. 次のコマンドを実行します。

    ALTER DATABASE `YOURDATABASE_NAME` 
        SET SINGLE_USER WITH ROLLBACK IMMEDIATE 
    
  4. 今すぐ右クリックし、[タスクにデータベース名をポイントし、[デタッチ]をクリックします。データベースのデタッチ]ダイアログボックスが

OR 5.セカンダリデータベースを再配置するために、あなたのコマンドを実行して表示されます。

ALTER DATABASE `YOURDATABASE_NAME` SET MULTI_USER 

再びマルチユーザーにデータベースモードを設定

  1. は、この情報がお役に立てば幸いです。

+0

ありがとうございました。これはうまくいった! – Vaibhav

10

Furqanの答えのステップ1の代わりに、SQL Serverインスタンスを再起動する必要はなく、「オフラインにする」タスクを開始するために使用されたSQL Server Management Studioインスタンスのみを再起動する必要があります。

+0

これはおかげです。つまり、SQL Server全体をオフラインにする必要はありませんでした。 – KaraokeStu

+2

私はこれが本当であることを確認することができます。 Management Studioは、接続を開いたままにしているようです。 –