PDA

View Full Version : چگونگی BACKUP



hamidrezaA
یک شنبه 24 خرداد 1383, 11:33 صبح
با عرض سلام .
یکی از مهمتر ین امور برای برنامه نویس انجام BackUp می باشد.
این کار در برنامه های کاربردی به چه صورت انجام می پذیرد. یعنی شر کتهای نرم افزاری
سیاست کاریشون در مورد Backup چطوره ؟
منظور من در مورد نحوه backup می باشد. آیا تنها از داده ها backup گرفته می شود
و یا از transaction هم گرفته می شود. و یا .......
به طور کلی روشی که استفاده می شود و جواب داده مد نظر است.
از هر گونه نظر . پیشنهاد در این زمینه ممنون و متشکر هستم.

با تشکر
-----
حمید رضا

شفیعی
شنبه 28 آذر 1383, 18:01 عصر
سلام
چرا هنگام BACKUP گیری و یا کپی کردن بانک های اطلاعاتی باید این فایلها بسته باشند

hps
شنبه 28 آذر 1383, 23:48 عصر
اول؛ که Backup گرفتن از Transaction معنى چندانى نداره، چون بالاخره یا این Transaction تموم شده و تغییرات حاصل از اون اعمال (Commit) یا برگردونده شده (Rollback) یا موقع Backup گرفتن در جریانه که توى Backup گرفتن نقشى نداره.

دوم؛ اون چیزى که معمولا ازش Backup گرفته مى‌شه اطلاعات اصلیه ولى گاهى از چیزهاى دیگه مثل Change Logها یا Settingها هم Backup مى‌گیرند تا موقع Recovery مشکلى ایجاد نشه و به قول معروف Settingهاى جدید Conflict نداشته باشه.

سوم؛ برنامه‌هایى که سرعت تغییر و تحول اطلاعات‌شون خیلى زیاده یه Snapshot (عکس فورى) از فایل‌هاى اطلاعاتى تهیه مى‌کنند و بعد اون رو به عنوان Backup نگهدارى مى‌کنن. اون چیزى که مهمه اینه که براى اطمینان از صحت Backup باید عملیات تهیه اون رو باید سایر اعمال اطلاعاتى Synchronize کرد، که این کار همیشه کار راحتى نیست.

چهار؛ سیاست کلى یا Framework به اون معنى که مى‌شناسم وجود نداره، این موضوع کاملا به نوع کارى که انجام مى‌دى و شرایط مساله بستگى داره. البته اغلب بانک‌هاى اطلاعاتى معروف (به خصوص SQL Serverها) ابزارهاى ویژه‌اى براى Backup & Recovery دارن و این کار معمولا جز وظایف اون‌ها تلقى مى‌شه.

شفیعی
شنبه 19 دی 1383, 05:10 صبح
سلام
در برنامه چند تا فایل DB داریم اگر بخواهیم از این فایلهای پشتیبان تهیه کنیم باید چکار کرد ایا BACKUP گیری روشی خاص دارد

یعقوب
شنبه 19 دی 1383, 14:06 عصر
سلام
توی 10 خط ، 13،12 تا لغت انگلیسی... :kaf:
جناب hps بابا کوتاه بیا...
اگه از کلمه های فارسی استفاده کنین حداقل کسی که مطلب رو می خونه چارکلوم حالیش میشه...
برای خوندن این مطلب بیشتر از 10 بار سراغ فرهنگ لغت رفتم... :mrgreen: :wink:

ببخشیدها...ولی باید می گفتم...
ناراحت نشین ها... :wink:

hps
شنبه 19 دی 1383, 15:00 عصر
کلماتى که به انگلیسى نوشته شدن اصطلاحات مشخص فنى هستند که ترجمه اون‌ها به فارسى نه راحته و نه چندان منطقى.

hamidrezaA
شنبه 19 دی 1383, 16:53 عصر
در مورد جوابت به یعقوب کاملا با شما موافقم.

>> برای خوندن این مطلب بیشتر از 10 بار سراغ فرهنگ لغت رفتم...
فکر نکنم بعد ده بار سراغ فرهنگ لغت رفتن کل موضوع دستتون آمده باشد. چون متاسفانه مطلبی رو دارید می خونید که اصلا اطلاعی ازش نادرید.
Hps
>> سوم؛ برنامه‌هایى که سرعت تغییر و تحول اطلاعات‌شون خیلى زیاده یه Snapshot (عکس فورى) از فایل‌هاى اطلاعاتى تهیه مى‌کنند و بعد اون رو به عنوان Backup نگهدارى مى‌کنن.
به نظر سرعت تغییر و تحول دلیل کافی Backup به این نوع نمی باشد و زمان زیاد انجام backup FULL نیز سبب چنین کاری می گردد و سبب یه عکس فوری می گردد.
>>اول؛ که Backup گرفتن از Transaction معنى چندانى نداره، چون بالاخره یا این Transaction تموم شده و تغییرات حاصل از اون اعمال (Commit) یا برگردونده شده (Rollback) یا موقع Backup گرفتن در جریانه که توى Backup گرفتن نقشى نداره.
چرا معنی داره. زیرا اگر بخواهیم حتی عملیات را به قبل از commit نیز برگردانیم در این موارد نیاز به دانستن
تراکنش است . یعنی مثلا پایگاه داده بایستی به کامیت انجام شده قبل از ساعت 11:59 دقیقه برگردد در حالی که انجام backup در ساعت 11 اتفاق افتاده است که بعد از آن ما چندین کامیت انجام داده ایم. در ضمن انجام عمل Recovery از تراکنش ها مانند برداشتن از پشته در زمانی که به آخرین کامیت پی برده شود.

حمید رضا

شفیعی
جمعه 25 دی 1383, 23:09 عصر
سلام
ایا این امکان هست که با یک دستور تمام بانکهای اطلاعاتی موجود در برنامه بست مانند دستورات فاکس پرو CLOSE DATABASE

دنیای دلفی
شنبه 26 دی 1383, 09:11 صبح
با یک دستور نه ولی با استفاده از یک حلقه می شه این کار را انجام داد .


:reading: :thnx: :strange: :موفق:

Dolphin
جمعه 02 بهمن 1383, 12:09 عصر
ای بابا یکی روش پشتیبانی گرفتن را بگه :mad:

vcldeveloper
یک شنبه 04 بهمن 1383, 00:16 صبح
ایا این امکان هست که با یک دستور تمام بانکهای اطلاعاتی موجود در برنامه بست مانند
بله. مثلا اگه یک کامپوننت ADOConnection داشته باشید با Disable کردن خاصیت Connceted آن تمامی جداولی که از آن کانکشن استفاده می کردند هم بسته میشند.

esi022
یک شنبه 04 بهمن 1383, 04:21 صبح
بازار کل کل تو این سایت از نوع خودش مثبته چون تو روند یه سوال چنتا سوال دیگه جواب داده میشه . نه غلام :kaf:
برای backup گرفتن باید ببینی بانکت چیه . اگه مثل اکسس میمونه که بهترین راه ممکن گرفتن کپی از فایلت تو مکان خاصیه. اما اگه از db server ها استفاده میکنی مثل sql از دستور زیر میتونی استفاده کنی یا مشابه اون با توجه به سرورت:
BACKUP DATABASE database_name_var TO DISK=' path ' WITH INIT

شکوه
دوشنبه 05 بهمن 1383, 09:12 صبح
سلام به دوستان
اگه بانکت sql هست که این امکانو خود sql داره که براش یه new plans بسازی و بهش دستور بدی هر چند وقت یه بار خودش backup بگیره و backup های قدیمی رو پاک کنه حتی میتونی کد نویسیشو کپی کنی و در قسمت procedure بنویسی و ببه برنامت وصل کنی تا به کاربر هم این امکانو بدی که خودش هم بتونه backupتهیه کنه
اگه خواستی توضیحات کاملتر رو بعدا بگم

شکوه
دوشنبه 05 بهمن 1383, 09:15 صبح
راستی اگه هم بخوای procedure هایی برای backuo گیری و restoreکردن هست که اگه خواستی میتونم برات از دوستان بگیرم و در اختیارتون قرار بدم