আমি বলব যে জিইউআইতে "টেক অফলাইন" জিনিসটি কখনই ব্যবহার করবেন না যদি না আপনি যদি এমন কোনও তথ্য না জেনে থাকেন যে ডাটাবেস ব্যবহার না হয়। যে কোনও কিছুর দ্বারা। কিছু লেগওয়ার্ক না করেই এটি জানা শক্ত, তবে কেন এই স্ক্রিপ্টটি কোথাও সংরক্ষণ এবং সর্বদা এটি ব্যবহার করবেন না?
USE [master];
GO
ALTER DATABASE $dbname$ SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE $dbname$ SET OFFLINE;
এবং তারপর অবশ্যই পারস্পরিক
ALTER DATABASE $dbname$ SET ONLINE;
GO
ALTER DATABASE $dbname$ SET MULTI_USER;
আপনাকে SINGLE_USER
প্রথমে এটি নির্ধারণ করার কারণটি যে কোনও বিদ্যমান ব্যবহারকারীদের কিক্সট করা (ডিফল্ট ডায়ালগের ক্ষেত্রে এটি করার বিকল্প রয়েছে, তবে অফলাইন ডায়ালগটি নয়), যেহেতু এসকিউএল সার্ভারকে ডাটাবেসে একচেটিয়া অ্যাক্সেসের প্রয়োজন এটি অফলাইন বর্তমানে, ডাটাবেসটি কে ব্যবহার করছেন তা দেখতে আপনি এখনই কিছু অতিরিক্ত লেগওয়ার্ক করতে চাইতে পারেন, আপনি যদি বড় ব্যাকআপ অপারেশন বা ইটিএল কাজের মাঝখানে এটি করেন বা আপনার কী আছে, এটি সমস্যাযুক্ত হতে পারে।
সম্পাদনা : আমি এই সম্পর্কে কানেক্ট এর উপরে একটি প্রস্তাবনার মামলা করবেন (দেখুন কানেক্ট # 2687832 ) এবং তা পোস্ট করেছেন Trello (অধীনে "অবজেক্ট এক্সপ্লোরার" দায়ের)।
ALTER DATABASE foo SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
প্রথমে জারি করে ... অন্যথায় এটি কেবল বসে থাকে এবং অপেক্ষা করে এবং একটি ব্যস্ত ডাটাবেসের জন্য, এটি চিরকালের জন্য হতে পারে।