چگونه Sessions یک کاربر را در SQL از بین ببریم؟

چگونه Sessions یک کاربر را در SQL از بین ببریم؟

بسمه تعالی

با سلام و وقت بخیر به شما همراهان همیشگی مجموعه ABLY

دوستان عزیز، این مقاله راجع به Sessions و از بین بردن آن در SQL توسط (SPID) است. مشکلی که اکثراً با اون دست و پنجه نرم می کنند. اما همانطور که می دانید همیشه یک راه حل وجود دارد. بنابراین این آموزش را از دست ندهید و با ما همراه باشید.

killsession in sql

بسمه تعالی

با سلام و وقت بخیر به شما همراهان همیشگی مجموعه ABLY

دوستان عزیز، این مقاله راجع به Sessions و از بین بردن آن در SQL توسط (SPID) است. مشکلی که اکثراً با اون دست و پنجه نرم می کنند. اما همانطور که می دانید همیشه یک راه حل وجود دارد. بنابراین این آموزش را از دست ندهید و با ما همراه باشید.

قبل از اینکه جواب این سوال را بدانیم، سوال من از شما این است که "چرا اصلاً می خواهید این کار را انجام دهید؟" چون شخصاً من اینکار را منطقی نمی دانم!

شاید در جواب من بگویید که می خواهیم سرور ما 100 درصد منابع را به خوبی اجرا کند. خب این جواب خوبی نیست!

زیرا در هر صورت ما از این پروسه ها خواستیم که خواسته های ما را انجام دهند و از بین بردن آن ها ایده ی جالبی نیست.

به هر حال گذشته از این نظرات شخصی من طریقه ی از بین بردن Sessions های کاربران در SQL را به شما خواهم گفت.

 Sessions چیست؟

اکثر شما می دانید که Sessions چیست. اگر بخواهم Sessions را برای کسانی که تازه با آن آشنا شدند توضیح دهم باید بگویم که وقتی یک کاربر وارد یک سایت و یا یک برنامه می شود یک قسمتی از حافظه برنامه به آن اختصاص داده می شود و آن را بیهوده اشغال می کند.

با استفاده از اسکریپت زیر و SPID (Service Profile Identifier) می توانید Sessions های کاربر را در SQL از بین ببرید:



DECLARE @sqlstring NVARCHAR(max)=''
SELECT @sqlstring = @sqlstring + 'KILL ' + CAST(spid AS VARCHAR(40)) + ';'
FROM sys.sysprocesses
WHERE spid NOT IN (@@spid) -- Exclude current session
AND spid > 50 -- Exclude system spid
PRINT @sqlstring
EXEC sp_executesql @sqlstring



توجه:

اگر میخواهید فقط به سیستم خود دسترسی داشته باشید و دسترسی دیگران به سیستم غیرمجاز باشد، پیشنهاد میکنم که پایگاه داده خود را در حالت (single user mode) تنظیم کنید.

منبع: blog.sqlauthority

منتشر شده در سایت ABLY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس