PDA

View Full Version : در یک زمان مشخص یک SP اجرا شود



dr_jacky_2005
چهارشنبه 06 مرداد 1389, 11:48 صبح
میخوام در یک زمان مشخص،یک SP اجرا بشه.

من یک تیکه کد پیدا کردم،ببینید اینه : ؟


declare @startproc datetime
declare @endproc datetime
declare @time integer

select @startproc = getdate()

exec <stored procedure>
select @endproc = getdate()

select @time = DATEDIFF(second, @startproc, @endproc)

print str(@time)


اگه این نیست که جواب رو بگین و بگین این کده چیه؟
اگه اینه،توضیح بدین لطفا

محمد سلیم آبادی
چهارشنبه 06 مرداد 1389, 13:55 عصر
این کدی که قرار دادین ظاهرا طول زمانی که پروسیجز برای اجرا شدن سپری می کند را مشخص می کنه.
سه تا متغیر شروع، پایان و زمان وجود داره که اختلاف بین شروع و پایان در متغیر time انتساب داده میشه و در نهایت این مقدار چاپ میشه.

ولی عنوان سوالتون با چیزی که مطرح کردین متفاوت هست.

dr_jacky_2005
چهارشنبه 06 مرداد 1389, 14:44 عصر
این کدی که قرار دادین ظاهرا طول زمانی که پروسیجز برای اجرا شدن سپری می کند را مشخص می کنه.
سه تا متغیر شروع، پایان و زمان وجود داره که اختلاف بین شروع و پایان در متغیر time انتساب داده میشه و در نهایت این مقدار چاپ میشه.

ولی عنوان سوالتون با چیزی که مطرح کردین متفاوت هست.

عنوان سوال که واضحه!
میخوام توو تنظیمات اس کی یو ال کاری کنم که یک یا چند SP به طور اتوماتیک در یک زمان که از قبل بهش میدیم،RUN شوند.

لینکشم فکر کنم اینه:
http://msdn.microsoft.com/en-us/library/ms190268.aspx

ولی من کسی رو میخوام که فارسی بهم توضیح بده و توو این زمینه یه تجربۀ کاری داشته داشته باشه.

محمد سلیم آبادی
چهارشنبه 06 مرداد 1389, 14:53 عصر
من نگفتم عنوان سوالتون مشخص نیست، گفتم با متن سوالتون متفاوت هست. این لینکم در مورد Agent Job هست:
http://msdn.microsoft.com/en-us/library/ms181153.aspx

Xcalivorse
یک شنبه 10 مرداد 1389, 16:20 عصر
اگر می خواهید دستورات مورد نظرتون در یک تاریخ مشخص (شامل روز،ماه،سال،ساعت،دقیقه و یا حتی ثانیه) و حتی در یک دوره زمانی به صورت منظم اجرا بشه بهترین راه استفاده از SQL Agent هست.

AminSobati
چهارشنبه 13 مرداد 1389, 23:52 عصر
سلام دوست عزیزم،
همونطور که اشاره شد، بهترین راه Job هست، ولی یکی از ترفندهای جایگزین میتونه این باشه که از دستور WAITFOR استفاده کنین و وقتی فرضا SQL Server رو تا ساعت 10 صبح معطل نگه داشتین، SP اجرا بشه و دوباره با دستور GOTO به WAITFOR برین. ولی این Connection باید همواره باز بمونه تا کار هم سر ساعت انجام بشه

dr_jacky_2005
دوشنبه 18 مرداد 1389, 09:33 صبح
دوست عزیزم روش اصولیش رو اشاره کردیم، لطفا در مورد Job و Agent کمی مطالعه کنید و در صورت برخورد با اشکال سوالتون رو مطرح کنید.

من قضیه Agent o job رو فهمیدم.ولی وقتی ست میکنم
ارور میده!
http://up.iranblog.com/Files/b0d30fd7363c49ca83d2.JPG

AminSobati
دوشنبه 18 مرداد 1389, 23:05 عصر
به نظر میرسه در نصب Management Studio مشکلی بوده. ترجیحا SQL Server رو مجددا نصب کنید. اگر حل نشد به احتمال زیاد ویندوز اشکال داره

AminSobati
سه شنبه 19 مرداد 1389, 23:43 عصر
دسترسی در حد sysadmin روی SQL Server دارین؟

dr_jacky_2005
پنج شنبه 21 مرداد 1389, 08:40 صبح
دسترسی در حد sysadmin روی SQL Server دارین؟


بله
من توو فروم های انگلیسی هم گشتم
میگن باید سرویس پک 2 نصب کنی!
حالا نمیدونم این سرویس پک که میگن واسه اکسپرس میگن یا Develepor!!!!

حالا اصلا یه سوالی؟...
اکسپرس میشه توووش job تعریف کرد؟
___

AminSobati
جمعه 22 مرداد 1389, 02:02 صبح
Express Edition فاقد سرویس Agent هست

dr_jacky_2005
شنبه 23 مرداد 1389, 07:17 صبح
Express Edition فاقد سرویس Agent هست

آره،اینو پری روز فهمیدم.
حالا رفتم SP2 developer رو که همه جا میگفتند رو نصبیدم.

مشکل حل شد.
حالا مشکل دیگه ای اومد.


TITLE: Microsoft SQL Server Management Studio ------------------------------ General access denied error ------------------------------ ADDITIONAL INFORMATION: General access denied error ------------------------------ BUTTONS: OK ------------------------------

dr_jacky_2005
یک شنبه 24 مرداد 1389, 07:02 صبح
موقع نصب سرویس پک 2

2 تا
authentication

میشه نصب کرد.
با یوزر ویندوز میشه ولی با یوزر SQL
هرچی میزنم این ارور رو میده:
http://up.iranblog.com/Files2/9577f8304e414b028db5.JPG

بعد که با ویندوزی اینستال میکنم،
موقع ساخت STEP
در SQL job

این ارور رو میده:

http://up.iranblog.com/Files2/78cf1e7d93914a2da80d.JPG

haririan2
چهارشنبه 07 مهر 1389, 17:14 عصر
سلام دوست عزیزم،
همونطور که اشاره شد، بهترین راه Job هست، ولی یکی از ترفندهای جایگزین میتونه این باشه که از دستور WAITFOR استفاده کنین و وقتی فرضا SQL Server رو تا ساعت 10 صبح معطل نگه داشتین، SP اجرا بشه و دوباره با دستور GOTO به WAITFOR برین. ولی این Connection باید همواره باز بمونه تا کار هم سر ساعت انجام بشه

:متفکر: خوب من مشکل دسترسی به SQL Agent دارم میخوام از این راه اقدام کنم تاپیک سراغ داری که توضیح داده باشه ؟