Sql Server Agent یک سرویس میباشد که تعیین زمانبندی و تشریح کار در عوض اجرای خودکار را بر عهده دارد و مهمترین وظیفه آن اجرا کردن jobها میباشد. jobها عملیاتی هستند که دارای یکسری دستورات هستند که در یک زمان خاص بصورت روزانه، هفتگی و یا ماهانه و یا حتی بصورت دستی اجرا خواهند شد.
Sql Server Agent چیست؟
همانطور که گفته شد agent یک سرویس Sql Server است که در هنگام نصب Sql این سرویس نصب خواهد شد و در قسمت Services ویندوز وجود دارد. توجه داشته باشید در صورتیکه این سرویس Start نباشد نمی توان job تعریف کرد و jobهای قبلی نیز اجرا نخواهند شد در این حالت باید در قسمت Services – سرویس Sql Server Agent را Start نمایید.
تعریف job در Sql
ابتدا وارد محیط Sql Server شده و در قسمت Object Explorer در صورتیکه Sql Server Agent، Stop میباشد بر روی آن کلیک راست کرده و گزینه start را بزنید.
سپس در قسمت jobs کلیک راست کرده و گزینه New job را انتخاب تا پنجره جدید جهت ایجاد job باز شود.
در پنجره باز شده در قسمت General باید یک نام برای job مشخص شود.
در قسمت Steps مشخص میکنیم که چه کاری میخواهیم انجام دهیم و باید حداقل یک Step تعریف کنیم. در این قسمت دکمه New را میزنیم تا پنجره تعریف Steps باز شود.
در پنجره باز شده در قسمت StepName نام Step را نوشته و در بخش DataBase نام دیتابیسی که این job و دستورات باید روی آن اجرا شود را انتخاب نمایید. در قسمت Command نیز دستوراتی که میخواهیم اجرا شود را مینویسیم و در نهایت دکمه Ok را میزنیم تا Step موردنظر اضافه شود.
تعریف schedule job
در قسمت Scheduls دکمه New را جهت مشخص نمودن زمان اجرای دستورات بزنید.
در پنجره باز شده یک نام مشخص کنید و در قسمت Frequency – Occurs مشخص نمایید که این دستورات بصورت روزانه، هفتگی و یا ماهانه اجرا شود. درصورتیکه هفتگی انتخاب شود باید روز هفته و اینکه چند بار اجرا شود نیز مشخص شود. در صورتیکه بصورت روزانه انتخاب شود باید در قسمت Daily Frequency مشخص کنیم که چند بار در روز و در چه ساعاتی اجرا شود.
در قسمت Duration میتوان تاریخ شروع و تاریخ انتها job را مشخص کرد در صورتیکه No end date انتخاب شود این job برای همیشه و بدون تاریخ پایان اجرا خواهد شد. در انتها دکمه ok را بزنید تا Schedule اضافه شود.
توجه داشته باشید امکان تعریف چند Schedules برای یک job وجود دارد.
در قسمت Alert میتوان یک پیغام برای موفقیت اجرا شدن و یا نشدن یک job جهت نمایش به کاربر ایجاد کرد.
در قسمت Notifications میتوان یک ایمیل و اینکه چه موقع ایمیل اطلاع رسانی ارسال شود را مشخص کرد. ایمیل اطلاع رسانی دارای سه حالت میباشد:
- هنگامیکه job با موفقیت اجرا شده است.
- هنگامیکه job نا موفق بوده است و در هنگام اجرا خطایی رخ داده است.
- هنگامیکه job کامل شده است.
در قسمت Target باید سرور که در حال اجراست را مشخص نمایید و سپس دکمه ok را بزنید.
دستور job در Sql Server Agent
در صورتیکه بخواهیم یک job را خارج از آن بازه زمانی و بصورت دستی اجرا کنیم باید بر روی job مورد نظر کلیک راست کرده و گزینه Start job at step را بزنید تا دستورات job اجرا شود.
اگر بخواهیم job برای مدتی اجرا نشود میتوان آنرا Disable کرد و سپس در صورت نیاز آنرا مجدد Enable نمود. همچنین درصورتیکه نیاز به ویرایش دستورات و یا سایر اطلاعات job باشد با کلیک راست بر روی job مورد نظر و انتخاب گزینه Properties پنجره برای ویرایش که دقیقا همانند پنجره تعریف job میباشد باز خواهد شد.
سرفصل های آموزش Sql
- 01 Sql Server | نصب Sql Server 2014 رایگان 05:14
- 02 Sql Server | آموزش Sql Server رایگان 05:47
- 03 Sql Server | دستور Select در Sql رایگان 06:52
- 04 Sql Server | دستور Where در Sql رایگان 08:12
- 05 Sql Server | عملگر Like در Sql رایگان 09:42
- 06 Sql Server | دستور Order By در Sql رایگان 07:07
- 07ویتامین استوایی | آموزش رایگان Sql Server عضویت 7 فیلم آموزشی
- 08 جادوی استوایی | آموزش کامل Sql Server خرید 41 فیلم آموزشی
سلام ممنون از اموزش خوبتون عالی واقعا اگر امکان اره یه اموزش دیگه اسکول سرور بنام Alwayson هم بزارید چون خیلی ضروریه ممنون از شما
اگر امکان داره یه تایمی بمن بدیدکه من بودنم این اموزش اماده میشه یانه که من هم خریداری کنم ممنون از شما
سلام دوست عزیز. امیدوارم که خوب باشید. خوشحالم که از آموزش ها راضی بودید. متاسفانه الان امکان آموزش Always on رو نداریم
سلام درباره جاب سوال داشتم
من برای تخلیه رکوردها از یک دیتابیس به یک دیتابیس دیگر از تریگر استفاده میکنم
بخصوص توی مباحث مربوط به حضور و غیاب
آیا با job هم میتونم این کار رو بکنم؟؟؟؟؟
سلام دوست عزیز
بله با job هم میشه انجام داد و باید برای آن زمابندی مشخص شود اما با استفاده از تریگر میتوان مشخص کرد بعد از هر عملیاتی مانند اضافه، ویرایش یا حذف همان لحظه تغییرات به دیتابیس دوم منتقل شود.