SQL सर्वर ब्रोकर को बहुत अधिक समय तक सक्षम करें


134

मेरे पास Microsoft SQL Server 2005 है और मैंने अपने डेटाबेस के लिए ब्रोकर को उन T-SQL के साथ सक्षम करने का प्रयास किया:

 SELECT name, is_broker_enabled FROM sys.databases 
 -- checking its status 0 in my case
 ALTER DATABASE myDatabase SET ENABLE_BROKER

Alter Databaseप्रक्रिया के लिए लंबा समय लगता है। यह अब आधे घंटे से अधिक है और यह अभी भी चल रहा है। सुनिश्चित नहीं है कि यह किसी और चीज़ की प्रतीक्षा कर रहा है या मुझे पहले कुछ भी साफ़ करना होगा, जैसे कि सर्विस ब्रोकर के तहत सभी संदेश, अनुबंध, कतार और सेवाएं हटा दें?


दूसरों के लिए एक साइड नोट के रूप में, अगर db के लिए कोई खुला कनेक्शन है, तो वे इस देरी का कारण बनेंगे। भागो sp_whoदिखाने के लिए यदि कोई हो तो .. (यह आप हो सकता है)
ChipperG

जवाबों:


270

http://rusanu.com/2006/01/30/how-long-should-i-expect-alter-databse-set-enable_broker-to-run/

alter database [<dbname>] set enable_broker with rollback immediate;

7
"रोलबैक तत्काल के साथ" का क्या प्रभाव है?
ए। दारा

14
@ A.Dara आप तब तक डेटाबेस में फेरबदल नहीं कर सकते जब तक लेनदेन लंबित हैं। रोलबैक तत्काल इन सभी को समाप्त कर देगा।
libjup

11
USE master;
GO
ALTER DATABASE Database_Name
    SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE;
GO
USE Database_Name;
GO

2

वास्तव में मैं उपयोग करना पसंद कर रहा हूं NEW_BROKER, यह सभी मामलों में ठीक काम कर रहा है:

ALTER DATABASE [dbname] SET NEW_BROKER WITH ROLLBACK IMMEDIATE;

2
आपको यह समझाना चाहिए कि आप इसे क्यों पसंद करते हैं और यह अलग तरीके से क्या करता है ....
मिच गेहूं

यह ठीक काम कर रहा है और सभी मामलों में समय निकाले बिना
माइक डारविश

2

SQL सर्वर सेवा ब्रोकर को सक्षम करने के लिए डेटाबेस लॉक की आवश्यकता होती है। SQL सर्वर एजेंट बंद करो और फिर निम्नलिखित निष्पादित करें:

USE master ;
GO

ALTER DATABASE [MyDatabase] SET ENABLE_BROKER ;
GO

अपने डेटाबेस के नाम के साथ [MyDatabase] को बदलें और फिर SQL सर्वर एजेंट शुरू करें।

यदि आप उन सभी डेटाबेस को देखना चाहते हैं जिनमें सर्विस ब्रोकर सक्षम या अक्षम है, तो उदाहरण के लिए sys.dat डेटाबेस को क्वेरी करें:

SELECT
    name, database_id, is_broker_enabled
FROM sys.databases
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.