मैं हमेशा निम्नलिखित का उपयोग करता हूं:
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;
कभी-कभी इसमें कुछ समय लग सकता है, और कभी-कभी यह अवरुद्ध हो जाता है क्योंकि आप इसे चलाने वाले होते हैं, और आपके पास डेटाबेस के लिए एक सक्रिय कनेक्शन होता है । अन्य क्वेरी विंडो के लिए जाँच करें जिसमें समान डेटाबेस संदर्भ हो सकता है - इसमें खुले संवाद, ऑब्जेक्ट एक्सप्लोरर, इंटेलीजेंसी, लंबे समय तक चलने वाली नौकरियां, आदि शामिल हो सकते हैं।
जब मैं उस डेटाबेस के कॉन्फिगर में अपना बदलाव कर रहा हूं, मैं बस:
ALTER DATABASE [dbname] SET ONLINE;
ALTER DATABASE [dbname] SET MULTI_USER;
हालाँकि, कभी-कभी, मुझे उस डेटाबेस में जो करने की आवश्यकता होती है, उसके लिए डेटाबेस को ऑनलाइन होना आवश्यक है, इसलिए कभी-कभी मुझे इसे एकल-उपयोगकर्ता मोड में छोड़ना पड़ता है और यह करना होता है:
ALTER DATABASE [dbname] SET ONLINE;
GO
USE [dbname];
अब मैं अपने परिवर्तन कर सकता हूं, और तब जब मैं अन्य उपयोगकर्ताओं को कनेक्ट करने के लिए तैयार हूं, बस:
ALTER DATABASE [dbname] SET MULTI_USER;