কীভাবে তাত্ক্ষণিকভাবে একটি দীর্ঘ এসকিউএল কোয়েরি মেরে / বন্ধ করব?


96

আমি এসকিউএল সার্ভার ২০০৮ এবং এর পরিচালনা স্টুডিও ব্যবহার করছি। আমি একটি ক্যোয়ারী চালিয়েছি যা অনেকগুলি সারি দেয়। আমি এটি লাল বাতিল বোতামের মাধ্যমে বাতিল করার চেষ্টা করেছি, তবে এটি গত 10 মিনিটের জন্য থামেনি। এটি সাধারণত 3 মিনিটের মধ্যে থামে।

কারণ কী হতে পারে এবং আমি কীভাবে তা অবিলম্বে বন্ধ করব?


আপনি কি পরীক্ষা করেছেন যে কোনও অ্যাপ্লিকেশন এই কোয়েরিটি ধরেছে ??
ব্যবহারকারী1102001

4
আপনার
এসকিএল

আমি এসকিউএল সবকিছু এমনকি আমি চলমান ছিল হিসাবে এই senario সম্মুখীন এবং এটি সম্পাদনা আমার proflie বা না আমার ইচ্ছা আছে ...
user1102001

@ ব্যবহারকারী1102001 - আপনাকে কিছু করতে বাধ্য করছে না। আমি বলেছিলাম এবং করা উচিত নয় :)
সিক্যুয়েল.অলাইনার

উত্তর:


65

এর কারণ কী হতে পারে

আপনার প্রশ্নের মনোযোগ সার্ভারে পৌঁছাতে পারে এবং প্রক্রিয়াজাত হতে পারে এমন শর্তাবলী একটি জিজ্ঞাসা বাতিল করা অবিলম্বে । একটি ক্যোয়ারী অবশ্যই বাতিল হওয়া অবস্থায় থাকতে হবে যা আপনি এসকিউএলসিআরআর থেকে কোনও ওয়েব পরিষেবা কল করার মতো নির্দিষ্ট ক্রিয়াকলাপ না করা বাদ দিয়ে প্রায় সর্বদা সত্য। আপনার মনোযোগ সার্ভারে পৌঁছাতে না পারলে এটি সাধারণত শিডিয়ুলার ওভারলোডের কারণে হয় ।

তবে যদি আপনার ক্যোয়ারী এমন কোনও লেনদেনের অংশ হয় যা অবশ্যই রোলব্যাক করে, তবে রোলব্যাক বাধা দেওয়া যাবে না। যদি এটি 10 ​​মিনিট সময় নেয় তবে এটির জন্য 10 মিনিট প্রয়োজন এবং এটি সম্পর্কে আপনি কিছুই করতে পারবেন না। এমনকি সার্ভার পুনরায় আরম্ভ করাও সহায়তা করবে না, এটি কেবলমাত্র আরম্ভ করবে কারণ পুনরুদ্ধারের রোলব্যাকটি শেষ করতে হবে।

কোন নির্দিষ্ট কারণটি আপনার ক্ষেত্রে প্রযোজ্য তা উত্তর দেওয়ার জন্য আপনাকে নিজের তদন্ত করতে হবে।


নোট করুন যে এসএসএমএস 'মনোযোগের উত্তর পাওয়ার পরে কেবল' বাতিল '(' বাতিল করার চেষ্টা 'এর বিপরীতে) হিসাবে ক্যোয়ারীটি দেখায়, যার দ্বারা বোঝা যায় যোগাযোগের পাইপের সমস্ত মধ্যবর্তী ফলাফল প্রথমে ড্রিল করা হয় (উদাহরণস্বরূপ, টিসিপি / আইপিতে সমস্ত ফলাফল বাফার এবং প্রাপ্ত সমস্ত মেমোরি বাফারগুলি প্রেরণ করুন)।
রিমাস রুসানু

4
আমি আশা করি এটি 'রোলিং ব্যাক' বলবে
সাইমন_উইভার

@ রেমাসরুসানু - যদি অনুমান করা রোলব্যাক সময় 20,000+ ঘন্টা হয়? ব্যাকআপ থেকে পুনরুদ্ধার করার জন্য খুশি। dba.stackexchange.com/questions/222145/…
youcantryreachingme

110
sp_who2 'active'

সিপিউটাইম এবং ডিস্কিও-র অধীনে মানগুলি পরীক্ষা করুন । তুলনামূলকভাবে বৃহত মান থাকার প্রক্রিয়াটির এসপিআইডি নোট করুন।

kill {SPID value}

আমি মাইক্রোসফ্ট এসকিউএল সার্ভার ২০০৮ আর 2 ব্যবহার করছি, আমি নির্ধারিত এবং স্থগিত হওয়া ক্যোয়ারির এসপিআইডি কী তা খুঁজে বের করার চেষ্টা করেছি এবং দেখতে পেলাম যে একই এসপিড থাকা একই নির্বাচন এসকিউএল এর অনেকগুলি উদাহরণ রয়েছে। যখন আমি কিল 114 কমান্ডটি কার্যকর করার চেষ্টা করি - এখানে 114 হ'ল আমার সাসপেন্ড করা ক্যোয়ারির এসপিআইডি মান। আমি নীচে ত্রুটিটি পেয়েছি: দয়া করে গাইড করুন। এমএসজি 102, স্তর 15, রাজ্য 1, লাইন 2 '114' এর নিকটে ভুল সিনট্যাক্স।
কোড বুস্টার

42

প্রথমে নীচের কমান্ডটি কার্যকর করুন:

sp_who2

এরপরে এসপিআইডি দিয়ে নীচের কমান্ডটি কার্যকর করুন যা আপনি উপরের কমান্ড থেকে পেয়েছেন:

KILL {SPID value}

23

এটি একটি নির্বোধ উত্তরের মতো, তবে এটি আমার ক্ষেত্রে কমপক্ষে নির্ভরযোগ্যভাবে কাজ করে: ম্যানেজমেন্ট স্টুডিওতে, "এক্সিকিউটিং কোয়েরি বাতিল করুন" কোয়েরিটি থামায় না, আমি কেবল বর্তমান এসকিএল ডকুমেন্টটি বন্ধ করতে ক্লিক করি। এটি জিজ্ঞাসা করে আমি জিজ্ঞাসাটি বাতিল করতে চাই কিনা, আমি হ্যাঁ বলি, এবং কয়েক সেকেন্ডের মধ্যে এটি কার্যকর করা বন্ধ করে দেয়। এর পরে এটি আমাকে জিজ্ঞাসা করে যে আমি বন্ধ করার আগে নথিটি সংরক্ষণ করতে চাই কিনা। এই মুহুর্তে আমি নথিটি খোলা রাখতে এবং কাজ চালিয়ে যেতে বাতিল ক্লিক করতে পারি can পর্দার আড়ালে কী চলছে তা ধারণা নেই তবে এটি কাজ করছে বলে মনে হচ্ছে।


4
এই ক্ষেত্রে ক্যোয়ারীটি এখনও পটভূমিতে স্থির থাকতে পারে / ঝুলতে পারে, আপনি কেবল এটি আর দেখতে পাবেন না।
Aries51

4
আমি মনে করি এটি সংযোগটিকে হত্যা করে, যেমন আপনাকে এর পরে পুনরায় সংযোগ করতে হবে।
anakic

4
এটি এসএসএমএসের সাথে সংযোগটি মেরে ফেলেছে (তবে প্রয়োজনীয়ভাবে) ডিবির সাথে নয়।
Aries51

4
আমি এই চেষ্টা করেছি আমার স্কেল ফাঁসি। টিটি
বট

4
যদি আপনি এটি দেখতে না পান তবে এটির অস্তিত্ব নেই।
ক্রিসডি

14

আপনি যদি বাতিল করে দেখুন এবং সেই রানটি দেখুন

 sp_who2 'active'

(ক্রিয়াকলাপ মনিটরের পুরানো স্কেল সার্ভার 2000 এফওয়াইআইতে উপলব্ধ হবে না)

আপনি এসপিআইডি স্পট করুন যেমন আপনি 81 মারতে চান

Kill 81

sp_who2 'active' আবার চালনা করুন এবং আপনি সম্ভবত লক্ষ্য করছেন যে এটি ঘুমাচ্ছে ... ফিরে যাচ্ছে

পরিস্থিতি চালাতে আবার কিল করুন

Kill 81 

তাহলে আপনি এই মত একটি বার্তা পাবেন

 SPID 81: transaction rollback in progress. Estimated rollback completion: 63%. Estimated time remaining: 992 seconds.

KILL {spid} WITH STATUSONLYস্ট্যাটাস বার্তাটি দেখতে আমাকে দৌড়াতে হয়েছিল।
রুডি 15

11

আপনি ক্যোয়ারির কার্যকারিতা বন্ধ করতে একটি কীবোর্ড শর্টকাট ALT+ ব্যবহার করতে পারেন Break। তবে এটি সব ক্ষেত্রে সফল নাও হতে পারে।


4
এটি আমার জন্য পরিচালনা স্টুডিওতে কাজ করা হয়। ধন্যবাদ
বিশ্বনাথসিংহ সোলঙ্কি

5
--Find Session Id for respective all running queries
SELECT text, getdate(),*
 FROM sys.dm_exec_requests
CROSS APPLY sys.dm_exec_sql_text(sql_handle)

---Kill specific session
kill 125

4
দয়া করে আপনার উত্তরে এটির সম্পাদনা করে কিছু ব্যাখ্যা যুক্ত করুন যাতে অন্যরা এটি থেকে শিখতে পারে
নিকো হাজেস

2

স্পষ্টতই SQL সার্ভার ২০০৮ r2 64৪ বিট এ আইআইএস-এর দীর্ঘ চলমান ক্যোয়ারির সাথে কিল স্পাইডটি কাজ করছে বলে মনে হচ্ছে না, কোয়েরিটি বার বার পুনরায় আরম্ভ হবে। এবং মনে হচ্ছে স্পিডটি পুনরায় ব্যবহার করছে। ক্যোয়ারীটি বর্ধমান স্কেল সার্ভারকে ক্রমাগত 35% সিপিইউ গ্রহণ করে এবং ওয়েবসাইটটি ঝুলিয়ে রাখে। আমি বিসি অনুমান করছি / এটি লগ ইন করার জন্য অন্যান্য প্রশ্নের জবাব দিতে পারে না


4
আমি এই জন্য একটি উত্স দেখতে চাই।
পিঁপড়া সুইফট

1

আমার অংশে যখন আমার অবিরাম চালানোর সময় এটি বন্ধ করার চেষ্টা করছিল তখন আমার স্ক্যুএল ঝুলিয়ে দেওয়া হয়েছিল। সুতরাং আমি যা করেছি তা হল আমি আমার টাস্ক ম্যানেজারটি খুলি এবং আমার বর্গ কোয়েরি শেষ করি। এটি আমার স্কয়ার বন্ধ করে এটি আবার চালু করুন।


1

একটি সহজ উত্তর, যদি লাল "স্টপ" বাক্সটি কাজ না করে তবে হ'ল কীবোর্ডের "Ctrl + ব্রেক" বোতাম টিপতে চেষ্টা করা।

আপনি যদি লিনাক্সে এসকিউএল সার্ভার চালাচ্ছেন, এমন একটি অ্যাপ্লিকেশন রয়েছে যা আপনি আপনার সিস্টেমে "কিল্ল" নামে যুক্ত করতে পারেন কেবল "কিল্ল" বোতামটি ক্লিক করুন এবং তারপরে একটি লুপে ধরা পড়া প্রোগ্রামটিতে ক্লিক করুন এবং এটি প্রোগ্রামটি শেষ করে দেবে। আশা করি এইটি কাজ করবে.


1

আমি দীর্ঘদিন থেকে একই জিনিস ভুগছি। আপনি যখন রিমোট সার্ভারের সাথে সংযুক্ত থাকেন (তবে এটি ধীর হতে পারে) বা আপনার নেটওয়ার্কের সংযোগ খুব কম থাকে তখন এটি বিশেষত ঘটে। আমি সন্দেহ করি যে মাইক্রোসফ্ট জানে যে সঠিক উত্তরটি কী।

তবে যেহেতু আমি সমাধানটি খুঁজতে চেষ্টা করেছি। কেবলমাত্র 1 জন সাধারণ ব্যক্তির পন্থা কাজ করেছে

  • আপনি যে ভোগান্তির শিকার হচ্ছেন সে প্রশ্নের ট্যাবের উপরের ক্লোজ বোতামটি ক্লিক করুন। কিছুক্ষণ পরে (যদি মাইক্রোসফ্ট আপনার প্রতি কঠোর না হয় !!!) আপনি এটি জানতে চাইলে একটি উইন্ডো পেতে পারেন

"ক্যোয়ারী বর্তমানে কার্যকর হচ্ছে you আপনি কি ক্যোয়ারীটি বাতিল করতে চান?"

  • "হ্যাঁ" ক্লিক করুন

  • কিছুক্ষণ পরে এটি জিজ্ঞাসা করবে আপনি এই কোয়েরিটি সংরক্ষণ করতে চান কিনা?

  • "বাতিল" ক্লিক করুন

এবং পোস্ট করুন যে, আপনার স্টুডিও আপনার ক্যোয়ারি চালানোর জন্য আবার স্থিতিশীল হতে পারে।

ব্যাকগ্রাউন্ডে এটি যা করে তা হল আপনার ক্যোয়ারী উইন্ডোটি সংযোগের সাথে সংযোগ বিচ্ছিন্ন করে। সুতরাং আবার ক্যোয়ারী চালানোর জন্য, রিমোট সার্ভারটি আবার সংযোগ করতে সময় লাগবে। তবে আমার উপর বিশ্বাস করুন এই ট্রেড অফটি অনন্তকাল ধরে চলে যাওয়া টাইমারকে দেখার কষ্টের চেয়ে অনেক ভাল।

পিএস: এটি আমার পক্ষে কাজ করে, কুডোস যদি আপনার জন্যও কাজ করে। !!!


4
> - এখনও আমার জন্য কাজ করেন এবং হিসাবে আমার সমস্যার সমাধান
ErocM
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.