دستورات مدیریت قفل ها در Sql Server

یافتن پروسه ها و کوئری در حال اجرا در Sql Server:

SELECT spid,status,loginame=SUBSTRING(loginame,1,12),hostname=SUBSTRING(hostname,1, 12),blk = CONVERT(char(3), blocked) ,dbname=SUBSTRING(DB_NAME(s.dbid),1, 10),cmd ,text --, sqltext = (cast(sql_handle AS VARBINARY(128))) ,waittime,lastwaittype,uid,cpu,physical_io,memusage, login_time , CAST(login_time AS time) tm , last_batch , CAST(last_batch AS time) tm ,ecid,open_tran,STATUS,program_name,hostprocess,nt_domain,nt_username,net_address,net_library,loginame FROM master..sysprocesses s cross apply fn_get_sql(sql_handle)

با استفاده از کوئری فوق می توانید لیست کوئری های در حال اجرا و میزان مصرف منابع آن در Sql Serverَ را مشاهده کنید

در سیستم های بزرگ گاهی ممکن است برخی کوئری های باعث قفل شدن Sql Server در سطح جدول، رکورد شوند با استفاده از کوئری زیر می توانید کوئری های قفل شده در سیستم را بیابید:

 

SELECT spid,status,loginame=SUBSTRING(loginame,1,12),hostname=SUBSTRING(hostname,1, 12),blk = CONVERT(char(3), blocked) ,dbname=SUBSTRING(DB_NAME(s.dbid),1, 10),cmd,waittype ,text , sqltext = (cast(sql_handle AS VARBINARY(128))) ,* FROM master..sysprocesses s cross apply fn_get_sql(sql_handle) WHERE spid IN (SELECT blocked FROM master.dbo.sysprocesses)

پس از اینکه کوئری های بلاک شده پیدا شدند با استفاده از SPID آنها می توان آنها را Kill کرد.

فرض کنید نتیجه کوئری اینگونه باشد:

می توان با استفاده از SPID پروسه ای که باعث قفل شدن پروسه های دیگر شده است را با استفاده از دستور زیر Kill کرد:

 

Kill 350;


نویسنده:
تاریخ: 1394/09/16 - 00:00
دسته بندی: sql
برچسب ها:
بازدید: 2474
نظرات

علیرضا 1394/09/23-11:24

نام کاربر

خیلی خوب بود
حالا اگه بخوایم همه رو به هم Kill کنیم باید چیکار کنیم؟

میلاد 1394/09/26-20:39

نام کاربر

مطلب مفیدی بود مرسی


نظر شما
نمونه کارها
درباره ما گروه نرم افزاری داده پردازی شمال با استعانت از درگاه حضرت حق و تکیه بر نیروی جوانی و استعداد گروه از سال 1388 کار خود را بصورت رسمی آغاز کرده است و مجموعه اعضای گروه از افراد بسیار مجرب در حوزه کاری خود می باشند.
اطلاعات تماس
  • آدرس: چالوس خ 17 شهریور، روبروی خیابان کوروش،جنب بانک صادرات ایران،پاساژ مومنی، مرکز داده پردازی شمال
  • تلفن همراه 24 ساعته:09125633603
  • تلفن تماس:01152227485
  • تلفکس:01152227485
  • ایمیل:info@arsnet.ir