SQL スクリプトで「既存の接続を閉じる」を指定するにはどうすればいいですか? 質問する

SQL スクリプトで「既存の接続を閉じる」を指定するにはどうすればいいですか? 質問する

私はSQL Server 2008でスキーマの開発を積極的に行っており、データベースの削除/作成スクリプトを頻繁に再実行したいと考えています。

USE [master]
GO

IF  EXISTS (SELECT name FROM sys.databases WHERE name = N'MyDatabase')
DROP DATABASE [MyDatabase]
GO

このエラーがよく発生します

Msg 3702, Level 16, State 4, Line 3
Cannot drop database "MyDatabase" because it is currently in use.

オブジェクトエクスプローラーペインでデータベースを右クリックし、コンテキストメニューから削除タスクを選択すると、「既存の接続を閉じる」チェックボックスが表示されます。

スクリプトでこのオプションを指定する方法はありますか?

ベストアンサー1

次のコマンドで、全員の接続を切断し、トランザクションをロールバックできます。

alter database [MyDatbase] set single_user with rollback immediate

その後、データベースを安全に削除できます :)

おすすめ記事