मैंने कई बार इस स्थिति का सामना किया है और नीचे मैं क्या करता हूं:
जब स्पष्ट तरीके काम नहीं करते हैं ..... (जैसे आपकी स्थिति में):
Sysdat डेटाबेस से डेटाबेस आईडी का पता लगाएं।
फिर निष्पादित करें - sp_lock
जो उदाहरण के साथ स्पाइड और डीबीआईडी पर सभी ताले दिखाएगा।
डीबीआईडी के साथ स्पिड्स को मारें जिसे आप ऑफ़लाइन या ड्रॉप करने की कोशिश कर रहे हैं।
हालांकि, प्रक्रिया थोड़ी मैनुअल है, इसे नीचे के रूप में स्वचालित किया जा सकता है:
IF OBJECT_ID('tempdb.dbo.#temp', 'U') IS NOT NULL
DROP TABLE #temp;
create table #temp (spid int
, dbid int
,ObjId bigint
, IndId bigint
,Type varchar(5)
,resource varchar(max)
,Mode varchar(5)
,status varchar(10));
declare @dbid int
select @dbid =DB_ID(db_name())
insert into #temp
exec sp_lock
select * from #temp
where dbid = @dbid