PDA

View Full Version : دادن پیغام خطای timeout expired در هنگام Backup گیری



amin3271
یک شنبه 16 مرداد 1390, 15:52 عصر
در برنامه ای که قبلا طراحی کرده بودم(حدود3سال پیش) بدون مشکل backup گیری انجام میشد اما جدیدا اینکار رو انجام نمیده.
وقتی داخل برنامه visual studio برنامه رو اجراکردم تا کدهای برنامه رو بررسی کنم دیدم موقع backupگیری بعد ازمدتی این پیغام رومیده

Timeout expired. The timeout period elapsed prior to completion of the operation or the
server is not responding.
The backup or restore was aborted.

در ضمن احساس میکنم حجم فایل دیتابیس (mdf) خیلی زیاد شده (حدود2G).
لطفا راهنمایی بفرمایید این اشکال رو چطور میشه رفع کرد.

حمیدرضاصادقیان
دوشنبه 17 مرداد 1390, 08:07 صبح
سلام.خوب دوست عزیز از طریق خود Connection که به دیتابیس ساختید TimedOut اونو تنظیم کنید بیشتر از 60 ثانیه باشه. چون این میزان دیتا زمان طولانی تری برای تهیه Backup میگیره. شما اگر از طریق خود Management Studio سعی کنید Backup بگیرید مشکلی برنمیخورید ولی از طریق برنامه چون یک درخواست به SQL Server ارسال میشه و تا تموم نشه جوابی برگشت داده نمیشه و به دلیل حجم زیاد داده هاتون به این مشکل برمیخورید.

amin3271
دوشنبه 17 مرداد 1390, 09:57 صبح
باتشکر
مشکل timeout رو باگذاشتن اون برای sqlcommand بدین صورت حل کردم:cmd(ازنوع sqlcommand)
cmd.commandtimout=300 (برحسب ثانیه)

حالا چطور حجم فایل mdf روکاهش بدم؟

حمیدرضاصادقیان
دوشنبه 17 مرداد 1390, 10:33 صبح
خوب دوست عزیز اگر فایل MDF شما دارای اطلاعات باشه که حجمش کاهش پیدا نمیکنه و با افزایش اطلاعات قاعدتا حجم اون هم افزایش پیدا میکنه.

amin3271
سه شنبه 18 مرداد 1390, 00:41 صبح
خب مهندس اگه هر حجم بالایی نشون دهنده بودن اطلاعات هست پس دستورات shrink file و shrink database برای چیه؟
مگه برای کوچک کردن بانک اطلاعاتی نیستن؟