আমার একটা অদ্ভুত পরিস্থিতি আছে। ব্যবহার করে sp_whoisactive
আমি এটি দেখতে পারি:
ঠিক আছে, এই ক্যোয়ারির সাহায্যে, আমি দেখতে পাচ্ছি যা ট্রিগার করছে (এই শব্দটি ইংরেজীতে রয়েছে কি?) এটি:
SELECT c.session_id, c.properties, c.creation_time, c.is_open, t.text
FROM sys.dm_exec_cursors (SPID) c --0 for all cursors running
CROSS APPLY sys.dm_exec_sql_text (c.sql_handle) t
ফলাফল:
এটি একটি সহজ select
। এটি কেন চ ব্যবহার করছে etch_cursor
?
এছাড়াও, আমি অনেকগুলি "ফাঁকা" স্ক্যুয়াল_টেক্সট দেখতে পাচ্ছি। এর এই "কার্সর" দিয়ে কিছু আছে?
DBCC INPUTBUFFER (spid)
আমাকে এটি দেখায়:
এই প্রশ্নটি এখানে (আমার দ্বারা তৈরি) আছে তবে আমি জানি না এটি একই জিনিস কিনা।
EDIT1:
আত্মীয় দ্বারা সরবরাহিত ক্যোয়ারী ব্যবহার করে, আমি এটি দেখতে পেয়েছি:
EDIT2:
ক্রিয়াকলাপ মনিটর ব্যবহার করে, আমি এটি দেখতে পারি:
এটি সবচেয়ে ব্যয়বহুল ক্যোয়ারী (প্রথমটি ইচ্ছাকৃত, আমরা এটি সম্পর্কে জানি)।
এবং আবারও, আমি জানতে চাই, কেন select * from...
এটি কারণ FETCH CURSOR
...
EDIT3:
এটি " select * from
..." অন্য সার্ভার থেকে চলছে (মাধ্যমে linked server
)।
ঠিক আছে, এখন @ কি বলেছে তা বুঝতে আমার সমস্যা হচ্ছে।
এটি হল execution plan
ক্যোয়ারির (ডাটাবেসের একই সার্ভারে চলমান):
এটি এখন, এক্সিকিউশন প্ল্যান, লিঙ্কযুক্ত সার্ভারের মাধ্যমে অন্য সার্ভারে চলছে:
ঠিক আছে, খুব একটা সমস্যাও নয়। এবং এখন! **activity monitor**
(একই select * from
) মাধ্যমে কার্যকরকরণ পরিকল্পনা :