Tôi luôn luôn sử dụng như sau:
USE master; -- get out of dbname myself
GO
-- kick all other users out:
ALTER DATABASE [dbname] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
-- prevent sessions from re-establishing connection:
ALTER DATABASE [dbname] SET OFFLINE;
Đôi khi điều này có thể mất một lúc và đôi khi nó bị chặn vì bạn là người đang chạy nó và bạn có kết nối hoạt động với cơ sở dữ liệu . Kiểm tra các cửa sổ truy vấn khác có thể có cùng bối cảnh cơ sở dữ liệu - điều này có thể bao gồm các hộp thoại mở, Object Explorer, IntelliSense, các công việc dài hạn, v.v.
Khi tôi thực hiện xong các thay đổi đối với cấu hình của cơ sở dữ liệu đó, tôi chỉ cần:
ALTER DATABASE [dbname] SET ONLINE;
ALTER DATABASE [dbname] SET MULTI_USER;
Mặc dù, đôi khi, điều tôi cần làm với cơ sở dữ liệu đó yêu cầu cơ sở dữ liệu phải trực tuyến, vì vậy đôi khi tôi phải để nó ở chế độ một người dùng và thực hiện việc này:
ALTER DATABASE [dbname] SET ONLINE;
GO
USE [dbname];
Bây giờ tôi có thể thực hiện các thay đổi của mình và sau đó khi tôi sẵn sàng cho người dùng khác kết nối, chỉ cần:
ALTER DATABASE [dbname] SET MULTI_USER;