خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
برطرف کردن ارور The job failed. Unable to determine if the owner در SQL Server
در این پست به بررسی یکی از خطاهای نسبتا متوادل در SQL Server خواهیم پرداخت. خطای زیر عمدتا در زمانی که یک SQL Agent job فعال یا Execute می شود، رخ می دهد.
در واقع پیغام خطا به نوعی گواه این مطلب است که Job Owner دسترسی به این مورد ندارد. این User قبلا در Active directory وجود داشته است وپس ایجاد شدن Job از AD حذف شده است و به همین دلیل این خطا رخ داده است.
اما راه حل این مشکل چیست؟ از آنجایی که این از maintenance plan یا برنامه های تعمیر نگهداری ما بود، می توانید Owner این Job را تغیر دهیم ولی با مشکل مواجه هستیم. چرا که زمانی که Owner را تغییر دهید، در واقع تنظیمات maintenance plan هم تغییر خواهد کرد و بهترین راه در این شرایط استفاده از اسکریپتها برای تغییر owner در maintenance plan می باشد.
پس برای این منظور به SQL Server مورد نظر خود لاگین کرده و پنجره New Query را باز کنید.
سپس دستور زیر را در آن وارد و Run کنید:
به جای MSDB باید نام دیتابیس مورد نظرتان را جایگزین کنید. ما در اسکریپت فوق کاربر sa را Owner این Job می کنیم و به جای Name Of Maint Plan باید نام آن maintenance plan را جایگزین کنید و سپس اسکریپت را Run کنید.
شما می توانید به جای sa کاربر دیگری را جایگزین کنید وقتی در دنیای واقعی از sa استفاده می کنید باید مراقب موارد امنیتی باشید چون sa دسترسی کامل به SQL دارد.
لطفا اگر روش دیگر یا راه حل بهتری که انجام داده اید و از آن جواب گرفته اید را در اختیار دارید، آن را با ما و سایر دوستان تان در قسمت ثبت نظرات به اشتراک قرار دهید.
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته بصورت کاملا کاربردی
دوره آموزش برنامه نویسی بانکهای اطلاعاتی VB.NET + SQL Server
The job failed. Unable to determine if the owner (SQLAuth\SQLSvc) of job MntPlan.RebuildIndex_UpdStats has server access (reason: Could not obtain information about Windows NT group/user ‘SQLAuth\SQLSvc’, error code 0x5. SQLSTATE 42000 (Error 15404))
در واقع پیغام خطا به نوعی گواه این مطلب است که Job Owner دسترسی به این مورد ندارد. این User قبلا در Active directory وجود داشته است وپس ایجاد شدن Job از AD حذف شده است و به همین دلیل این خطا رخ داده است.
اما راه حل این مشکل چیست؟ از آنجایی که این از maintenance plan یا برنامه های تعمیر نگهداری ما بود، می توانید Owner این Job را تغیر دهیم ولی با مشکل مواجه هستیم. چرا که زمانی که Owner را تغییر دهید، در واقع تنظیمات maintenance plan هم تغییر خواهد کرد و بهترین راه در این شرایط استفاده از اسکریپتها برای تغییر owner در maintenance plan می باشد.
پس برای این منظور به SQL Server مورد نظر خود لاگین کرده و پنجره New Query را باز کنید.
سپس دستور زیر را در آن وارد و Run کنید:
USE MSDB
GO
UPDATE sysssispackages
SET ownersid = SUSER_SID('sa')
WHERE NAME = 'Name Of Maint Plan'
به جای MSDB باید نام دیتابیس مورد نظرتان را جایگزین کنید. ما در اسکریپت فوق کاربر sa را Owner این Job می کنیم و به جای Name Of Maint Plan باید نام آن maintenance plan را جایگزین کنید و سپس اسکریپت را Run کنید.
شما می توانید به جای sa کاربر دیگری را جایگزین کنید وقتی در دنیای واقعی از sa استفاده می کنید باید مراقب موارد امنیتی باشید چون sa دسترسی کامل به SQL دارد.
لطفا اگر روش دیگر یا راه حل بهتری که انجام داده اید و از آن جواب گرفته اید را در اختیار دارید، آن را با ما و سایر دوستان تان در قسمت ثبت نظرات به اشتراک قرار دهید.
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته بصورت کاملا کاربردی
دوره آموزش برنامه نویسی بانکهای اطلاعاتی VB.NET + SQL Server
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: