開発データベースでオフライン メンテナンス (ライブ バックアップからの開発データベースの復元) を実行しようとしていますが、SQL Server Management Studio 経由の「オフラインにする」コマンドの実行速度が非常に遅く、現在 30 分以上かかっています。もう途方に暮れており、速度の問題の原因や解決方法についての参考資料をオンラインで見つけることができません。
一部のサイトでは、データベースへのオープン接続がこの速度低下の原因であると示唆されていますが、このデータベースを使用する唯一のアプリケーションは私の開発マシンの IIS インスタンスであり、サービスは停止しており、オープン接続はもうありません。
この速度低下の原因は何でしょうか? また、速度を上げるために何ができるでしょうか?
ベストアンサー1
さらに検索してみたところ (gbn の回答と KMike の回答に対する u07ch のコメントに触発された新しい検索用語)、2 秒で正常に完了した次の結果を見つけました。
ALTER DATABASE <dbname> SET OFFLINE WITH ROLLBACK IMMEDIATE
(アップデート)
それでも次のエラーで失敗する場合は、次の手順に従って修正できます。このブログ投稿:
データベース 'dbname' にロックを設定できなかったため、ALTER DATABASE は失敗しました。後でもう一度お試しください。
次のコマンドを実行すると、データベースのロックを保持しているユーザーを確認できます。
EXEC sp_who2
SPID
そして、次のコマンドで見つけたものを使用します。
KILL <SPID>
その後、ALTER DATABASE
コマンドを再度実行します。これで動作するはずです。