در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

حذف کردن Job های غیر قابل حذف در MSSQL

حذف کردن job های غیر قابل حذف در mssql

سلام رفقا

امیدوارم حال و احوالتون توپ باشه.این آموزش رو تو هیچ سایت فارسی زبانی ندیدم و میشه گفت این اولین آموزش هست که توی سایت های فارسی زبان عمومی میشه.توی سایت های خارجی هم ندیدم این روش رو.دوستان اگه جایی این آموزش رو دیدین اعلام کنین تا پست رو اصلاح کنم.البته اصلا پست شاخی نیست که بخوام زیاد بزرگ کنم قضیه رو!!!

خب بریم سر اصل مطلب:

خیلی وقت ها براتون پیش اومده که زمانی که میخواین یه job رو توی MSSQL حذف کنین به ارور میخورین و Job حذف نمیشه مثل شکل زیر:

حذف کردن Job های غیر قابل حذف در MSSQL

خب کاری که ما میکنیم اینه که Message ارور رو چک میکنیم :

حذف کردن Job های غیر قابل حذف در MSSQL

خیلی وقتا شده به راحتی از کنار این ارور میگذریم و شاید به دنبال گوگول کردن مشکل باشیم اما اگه قسمتی که توی عکس با رنگ قرمز مشخص شده رو چک کنین میبینین که دقیقا دلیل حذف نشدن Job رو به ما گفته:

The Delete statement conflicted with the REFERENCE constraint "FK_subplan_job_id"
The conflict occurred in database "msdb",table "dbo.sysmanitplan_subplans",column "job_id".
…

قسمت مهمش در واقع خط دومشه که به ما گفته این job توی چه دیتابیس و چه جدولی استفاده شده .

ما هم به آسونی یه SELECT میزنیم:

USE msdb
GO
SELECT * FROM dbo.sysmaintplan_subplans

که اینجا میتونیم subplan های موجود رو ببینیم و اونی رو که مرتبط با Job مورد نظر ما است حذف کنیم:

DELETE FROM dbo.sysmaintplan_subplans
WHERE subplan_name='Subplan مورد نظر'

که طبعا باید اینجا هم ارور بده چون براش یه لاگ ثبت شده و همون طور که خودش گفته :

The DELETE statement conflicted with the REFERENCE constraint "FK_sysmaintplan_log_subplan_id". The conflict occurred in database "msdb", table "dbo.sysmaintplan_log", column 'subplan_id'.

باید subplan مربوطه رو از جدول dbo.sysmaintplan_log مربوط به دیتابیس msdb هم پاک کنیم:

DELETE FROM dbo.sysmaintplan_log WHERE subplan_id='subplan_id که قصد حذف کردن آنرا داریم که میشه'

این قسمت که حذف شد ، حذف مرحله قبل رو هم اجرا میکنیم و سپس به راحتی میتونیم job مورد نظر رو پاک کنیم.

#حذف_job #حذف_job_های_mssql
2 نظر
حسن ضرابی

با سلام و خسته نباشید خدمت شما

البته من تاحالا به این ارور برنخوردم اما آموزش خیلی خوبی بود خیلی برای من جالب بود روشی که انجام دادید.

دست شما درد نکنه بابت این آموزش خیلی خوب

مچکرم

r.alireza

با سلام و احترام

بسیار عالی، مشکل من با این راه حل بدرستی حل شد.

جالب اینجاست که یک SQL کار که وظیفه پشتیبانی برنامه ... رو بر عهده دارن نتونستن این مشکل رو حل کنن و یا حداقل زحمت یه جستجو رو به خودشون ندادن.

باز هم ممنون

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....