PDA

View Full Version : محدود كردن تعداد ركوردهاي ديتابيس



eidazha
دوشنبه 13 آبان 1392, 23:00 عصر
با سلام و خسته نباشيد
من يك تيبل دارم كه ميخوام تعداد ركوردهاشو محدود كنم مثلا بيش از 1000 ركورد ثبت نشه ، و اگر يك ركورد ثبت شد ، يك ركورد حذف بشه تا بيشتر از 1000 ركورد نباشه.

و سوال ديگه اينكه چطور تمامي ركوردها در يك روز خاص مثلا هر جمعه به جمعه اتوماتيك خالي بشه.

ممنون ميشم راهنمايي كنيد
با تشكر

hossein_h62
سه شنبه 14 آبان 1392, 07:24 صبح
سلام
سوال اولتون یه راهش استفاده از Trigger هست و سوال دومتون رو میتونید با تعریف Job عملی کنید.

eidazha
سه شنبه 14 آبان 1392, 13:09 عصر
ممنون حسين جان
ميشه يه مثال بزنيد ؟

hossein_h62
سه شنبه 14 آبان 1392, 15:03 عصر
برای سوال اولتون غیر از تریگر در sp که دارین اطلاعات ثبت میکنید هم میتونید خواستتون رو عملی کنید ولی سوالی که هست اینه که محدودیت 1000 رکورد علتش چیه؟! و اینکه اگر قراره برای ثبت رکوردی جدید رکورد دیگری حذف بشه چطور و بر چه اساس باید این کار انجام بشه؟

eidazha
سه شنبه 14 آبان 1392, 19:18 عصر
سلام ، ممنون از جوابتون
ببينيد روي وب سايتهايي كه طراحي ميكنم ، يك سامانه پيامكي هم نوشتم ، كه وقتي sms انبوه ميفرستن مثلا بيشتر از 1000 ركورد (شماره و متن پيامك ارسالي) ذخيره نشه ، چون عملا بعد چند روز نيازي بهش نيست و تعداد زياد ركورد نميخوام تو ديتابيس باشه. اينطوري كه اگر تعداد ركوردها رسيد به 1000 ركورد و يك ركورد ديگه ثبت شد ، يك ركورد از آخر حذف بشه ، اگه 100 تا ركورد ثبت شد از آخر 100 تا ركورد حذف بشه.

البته اگه سوال دوم رو بشه كاري كرد (هر جمعه به جمعه حذف بشه) نيازي به سوال اول نيست ، اينطوري هر جمعه ديتابيس خالي ميشه و بيشتر از يك هفته ركورد ها رو نگه نميداره

hossein_h62
سه شنبه 14 آبان 1392, 19:51 عصر
البته اگه سوال دوم رو بشه كاري كرد (هر جمعه به جمعه حذف بشه) نيازي به سوال اول نيست ، اينطوري هر جمعه ديتابيس خالي ميشه و بيشتر از يك هفته ركورد ها رو نگه نميداره
با تعریف یک job ساده شدنی هست دوست عزیز.

eidazha
سه شنبه 14 آبان 1392, 23:37 عصر
ممنون حسين جان ، ميشه يك مثال بزنيد ؟
در ضمن من ميخوام به صورت اتوماتيك اين كار انجام بشه ، چه به صفحه مراجعه بشه چه نشه

hossein_h62
چهارشنبه 15 آبان 1392, 08:19 صبح
وقتی job تعریف بشه و زمابندیش رو تنظیم کنید بصورت خودکار انجام خواهد شد و ارتباطی با مراجعه به صفحه نداره!
تعریف job قبلا توی تالار بحث شده جستجو کنید، هم از طریق MSSQL Server Management Studio میشه هم TSQL ؛
مسیرش از طریق ویزارد اینجاست :
SQL Server Agent>(Right Click) New>Job
کد مربوط به حذف رکوردهای جدول رو در زمان و تاریخ دلخواهتون تنظیم کنید.

Reza_Yarahmadi
چهارشنبه 15 آبان 1392, 08:54 صبح
برای ایجاد یک job میتونید به اینجا (http://barnamenevis.org/showthread.php?279222-SQL-Server-Administration&p=1396961&viewfull=1#post1396961)یه نگاه بندازید.