نمایش نتایج 1 تا 40 از 40

نام تاپیک: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

  1. #1

    Smile آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    سلام

    (براي ديدن نسخه جديد گرفتن بك آپ به صفحه دوم برويد و يا لينك زير را ببنيد:
    https://barnamenevis.org/showth...765#post623765
    و براي ساخت database و restore اين لينك را:
    https://barnamenevis.org/showthread.php?t=32723
    به زودي نسخه اصلاح شده restore نيز گذاشته ميشود.
    اين پرانتز در تاريخ 8 آبان 87 اضافه شد)

    این هم به همان راحتی create و restore کردن databse است!
    کنترلهایی که برای این کار لازم است یک adocmmand ، یک button ویک shellTreeView یا یک ابزار دیگر شبیه آن است! (برای انتخاب مسیر ذخیره backup) و در صورت دلخواه edit برای وارد کردن نام backup جدید!
    با این روش می تونید به کاربر بگید از طریق همون برنامه ای که باهاش کار می کنه به راحتی یک bachkup گرفته و بر روی cd ذخیره نماید تا با در صورتی که روزی روزگاری برای کتمپیوتر مشگلی پیش آمد مثلا هارد سوخت. با نصب مجدد برنامه و sql داده هایی که قبلا در پایگاه داده ذخیره کرده است. قابل برگشت باشد!
    برای این کار ارتباط بین adocommnad1 و sql server را از طریق connection string برقرار کنید!
    سپس در رویداد کلیک button کد زیر را بنویسید!

    procedure TForm1.Button1Click(Sender: TObject);
    var
    str,s,s1,s2,s3:string;
    d:tdate;
    begin
    str:=ShellTreeView1.Path;
    d:=date;
    s:=DateToStr(d);
    s1:=copy(s,1,4);
    s2:=copy(s,6,2);
    s3:=copy(s,9,2);
    s:='backup_'+s1+'_'+s2+'_'+s3;
    str:=str+'\'+s;
    with ADOCommand1 do
    begin
    CommandText:='BACKUP DATABASE mydatabase1 TO DISK='+QuotedStr ( str);
    execute
    end;
    ShowMessage('پشتبان گیری موفقیت آمیز انجام شد');
    end;

    البته به جای mydatabase1 نام database خودتان را در sqlserver بنویسید!
    در این کد من از تاریخ برای متمایز کردن backup ها استفاده کردم. شما در صورتی که مایل باشید. می توانید به جای این کار نام backup را در یک edit از کاربر بپرسید!
    اصل کد به صورت زیر است:

    backup database mydatabase1 to disc='d:/new folder/backup3'

    که در قسمت disc= آدرس ذخیره سازی backup و نام آن در داخل کوتیشن ذکر می گردد!
    و شما می توانید کد ذکر شده را به دلخواه خود تغییر دهید!
    نمونه برنامه را ضمیمه کردم.
    اگر database را که در تاپیک آموزش طریق ساخت و restore فایل backup در نمونه برنامه وجود داشت! ساخته باشدی. این برنامه کار خواهد کرد. و یا در کد آن نام mydatabase1 را به نام یکی از database ها موجود در sql خودتان تغییر دهید. تا نحوه کار آن را ببنید!
    اگر انتقادی یا ایرادی وجود داشته باشه، با کمال میل می پذیرم!
    موفق باشید!
    خداحافظ
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله oghab : پنج شنبه 09 آبان 1387 در 11:01 صبح

  2. #2
    باسلام
    عقاب جان من از کد شما قبلاً استفاده کردم عالی است . اما یک مورد بود که قرار بود رفع شود ولی نشد این که بعد از گرفتن پشتیبان از یک دیتابیس اگر بار دوم از همان دیتابیس بک آپ گرفته شود روی آن اوررایت می شود و حجم دیتابیس را بالا می برد . ممکن است کاربر در یک روز دو یا بیشتر بک آپ بگیرد.

    باتشکر
    داود

  3. #3
    لطفا در مورد restore کردن هم توضیح بدهید

  4. #4
    کاربر دائمی آواتار babak869
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    کرمانشاه
    پست
    1,251
    اگه جستجو می کردید حتما پیدا می کردید :

    http://www.barnamenevis.org/sh...ghlight=backup

  5. #5
    با سلام خدمت دوستان
    آقا من در همین تایپیک عرض کردم اگر کاربر در یک روز بخواهد چندین بار بک آپ بگیرد این برنامه حجم دیتابیس را بالا می برد یعنی OVERRITE نمی کند و حجم فایل ( به تعداد دفعات بک آپ ) ضرب می شود یعنی اگر حجم فایل دیتابیس 5 مگ باشد اگر در یک روز 3 بار بک آپ گرفته شود از همان دیتابیس حجم 15 مگ می شود.
    باتشکر از دوستان
    داود

  6. #6
    1. اگر بخواهیم فقط از یک جدول دیتابیس backup بگیریم چکار باید کرد
    2. اگر بخواهیم از یک جدول فقط یکسری رکوردهای خاصی را backup بگیریم چه باید کرد

  7. #7
    نقل قول نوشته شده توسط davoodmz
    با سلام خدمت دوستان
    آقا من در همین تایپیک عرض کردم اگر کاربر در یک روز بخواهد چندین بار بک آپ بگیرد این برنامه حجم دیتابیس را بالا می برد یعنی OVERRITE نمی کند و حجم فایل ( به تعداد دفعات بک آپ ) ضرب می شود یعنی اگر حجم فایل دیتابیس 5 مگ باشد اگر در یک روز 3 بار بک آپ گرفته شود از همان دیتابیس حجم 15 مگ می شود.
    باتشکر از دوستان
    داود
    شما می‌تونید اون قسمت کد را که تاریخ امروز را به backup اضافه می‌کنه و اسم فایل را می‌سازه حذف کنید و نام backup فایل را داخل یک edit از کاربر بگیرید تا این مشکل پیش نیاد.

  8. #8
    کاربر دائمی آواتار babak869
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    کرمانشاه
    پست
    1,251
    البته برای این کار راههای زیادی هست.یکی اینکه در هنگام تهیه بک آپ یه جستجو کنه که آیا در اون مسیر انتخاب شده فایلی با نام بک آپ جدید وجود داره یا نه و اگه وجود داشت پیغام اخطار بده.
    یا اینکه برای هر بک آپ علاوه بر تاریخ روز جاری یه شماره جداگانه هم به اون اضافه کنه تا بک آپ ها از هم متمایز بشن
    یا اینکه هر بک آپ رو در یه پوشه جداگانه بریزه تا تداخلی برای بک آپ ها پیش نیاد
    ولی به نظر من بهترین راه استفاده از یه نام یکتا در نام نسخه پشتیبان هستش

  9. #9
    کاربر دائمی آواتار ariobarzan
    تاریخ عضویت
    تیر 1386
    محل زندگی
    ايران زمين
    پست
    419
    با تشکر
    برنامه با موفقیت اجرا می شود ولی هیچ فایلی ایجاد نمی شود
    لطفا راهنمایی بفرمایید

  10. #10
    کاربر دائمی آواتار ariobarzan
    تاریخ عضویت
    تیر 1386
    محل زندگی
    ايران زمين
    پست
    419
    هیچ کی که تحویل نگرفت
    ولی خودم پیدا کردم روی کامپیوتری که اس کیو ال روش نصب شده می گیره
    در ضمن اگر در آخر متن دستور گرفتن backup چیزی ننویسیم full backup می گیره
    و حجمش هم مرتب زیاد میشه ولی اگر از کلمه differential استفاده بشه حجمش کمتر
    میشه

  11. #11
    کاربر تازه وارد آواتار kamal_habibi
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    آ.غ-بوکان
    پست
    44
    سلام خدمت دوستان
    من با توجه به این کدی که آقای عقاب گداشته بود تونستم Backup بگیرم ولی در Restor کردنش مشکل دارم تمام لینکها رو هم گشتم ولی نتونستم به جواب برسم
    procedure TForm1.Button1Click(Sender: TObject);
    var
    str,s,s1,s2,s3:string;
    d:tdate;
    begin
    str:=ShellTreeView1.Path;
    d:=date;
    s:=DateToStr(d);
    s1:=copy(s,1,4);
    s2:=copy(s,6,2);
    s3:=copy(s,9,2);
    s:='backup_'+s1+'_'+s2+'_'+s3;
    str:=str+'\'+s;
    with ADOCommand1 do
    begin
    CommandText:='BACKUP DATABASE mydatabase1 TO DISK='+QuotedStr ( str);
    execute
    end;
    ShowMessage('پشتبان گیری موفقیت آمیز انجام شد');
    end;
    این کد آقای عقب بود برای پشتیبان گیری
    اگه میشه منو در Restor کردن راهنمایی کنید

  12. #12
    آقای کمال حبیبی عزیز برای نوشتن کد از قسمت مخصوص کد استفاده کن تا کد ها خوانا باشند در مورد ریستور کردن هم بر می گرده به نحوه کدنویسی شما اگر زمان اجرای کد ریستور جداول شما در حال استفاده(in used) نباشند کد به درستی اجرا می شود

  13. #13
    کاربر تازه وارد آواتار kamal_habibi
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    آ.غ-بوکان
    پست
    44
    چطوری جداول را از حالت Use خارج کنم مشکل من همینه
    کدی سراغ ندارید برای اینکه جداول را از حالت Use خارج کنم؟

  14. #14
    من کد خاصی به ذهنم نمی رسه ولی تا جایی که می دونم این تا حد زیادی بستگی به نوع برنامه نویسی شما داره اگه می خواید مشکلتون حل بشه باید اطلاعات کاملی از پایگاه داده برنامه تون و همچنین نحوه اتصال به برنامه و ... رو برامون توضیح بدید.
    البته از جستجو هم استفاده کنید چون تا جایی که یادمه یک دفعه قبلاً در مورد این موضوع بحث شده این طوری شاید سریعتر به نتیجه برسید.

  15. #15
    برای بازیابی دیتابیس جاری را Closeو به Master متصل شوید

  16. #16
    برای بازیابی دیتابیس جاری را Closeو به Master متصل شوید


     

    BackupCon.Connected:=False;
    Dm.ModiranFarmerCon.Connected:=False;
    While Dm.ModiranFarmerCon.Connected Do ;
    BackupCon.Database:='master';
    BackupCon.Username:='sa';
    BackupCon.Password:='Pass';
    'Server':=Dm.ModiranFarmerCon.Server;
    BackupCon.Connect;
    While Not BackupCon.Connected Do ;
    QBackup.SQL.Text:= 'RESTORE DATABASE ['+Dm.ModiranFarmerCon.Database+']FROM DISK = '+QuotedStr(OpenDialog1.FileName);
    Try
    QBackup.Execute;
    MsgList.Items.Add('اتمام');
    Except
    Tools.ShowMsg('خطا');
    End;


  17. #17
    این کد از کل DataBase تون Backup می گیره


    BACKUP DATABASE [You'r DBname] TO DISK =N'Your path' WITH NOFORMAT
    ,NOINIT,NAME
    =N'AdventureWorks-Full Database Backup', SKIP, NOREWIND,NOUNLOAD, STATS = 10
    GO

  18. #18
    سلام
    بابا دمت گرم
    خیلی حال کردم بابا تو دیگه کی هستی؟
    یک خواهش داشتم میتونی یک برنامه restor data base to delpi bezari

  19. #19
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    310
    آقای جوای سافت ممنون از لطف شما ولی اگه ممکن است بفرمایید BackupCon , ModiranFarmerCon چی هستند ؟
    و اگر ممکن است یک مثال هم در این تاپیک ردمورد restore بگذارید خیلی لطف می کنید
    با تشکر

  20. #20
    کاربر تازه وارد آواتار kamal_habibi
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    آ.غ-بوکان
    پست
    44
    ببینید دوست عزیز من خیلی جستجو کردم در مورد Backup گیری و Restore ولی بیشتر در مورد Backup گیری راهنمایی میکردند بهر حال من در این زمینه خیلی جستجو کردم چون واسه پروژم لازم داشتم که بالاخره تونستم یک کد جالب از Backup و Restore پیدا کنم و اونو واسه شما هم میذارم
    امیدوارم که مشکل تونو حل کنه
    ولی قبل از هر چیز Data Base داخل پوشه Data به نام Test همراه مثال را به SQL خود اضافه کنید تا مثال هنگام اجرا مشکلی نداشته باشد
    فایل های ضمیمه فایل های ضمیمه

  21. #21
    کاربر دائمی
    تاریخ عضویت
    آذر 1384
    محل زندگی
    تهران
    پست
    310
    آقای حبیبی ممنون از لطف شما
    من کد شما را در برنامه خودم تست کردم و باز همان مشکل همیشگی اتفاق افتاد یعنی برنامه پیغام خطای (( دیتابیس در حال استفاده است)) داد .
    متشکرم

  22. #22
    کاربر تازه وارد آواتار kamal_habibi
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    آ.غ-بوکان
    پست
    44
    ببینید شما موقعی که در دلفی میخواهید برنامه تان را تست کنید باید ADOConnection شما در حالت اتصال به Data Base نباشد
    موقعی که برنامه شما شروع به اجرا میکند باید ADOConnection و ADOTable را فعال کنید
    من این نمونه برنامه ای که واسه شما فرستادم 100% کار میکند و خودم هم از همین کد استفاده کردم

  23. #23
    کاربر دائمی آواتار iman_s52
    تاریخ عضویت
    مهر 1383
    محل زندگی
    اصفهان
    پست
    566
    میشه در مورد پشتیبان گیری از روی سیستمی که SQL روش نصب نیست توضیح بدین

  24. #24

    Wink نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    نقل قول نوشته شده توسط yousef8311264897 مشاهده تاپیک
    yousef.sh.2008@gmail.com

    ایمیل بزنید در رابطه با مشکلاتان بی منفعت نیست
    ای بابا تاریخ پستها رو ببین بعد از این همه مدت اومدی تاپیک رو آوردی بالا
    ما گفتیم یه جواب توووپ دادی !؟

  25. #25

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    ميخواستم ببينم چه جوري ميشه از بانك پارادكس بك آپ گرفت.

  26. #26

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    ميخواستم ببينم چه جوري ميشه از بانك پارادكس بك آپ گرفت.
    ربطی به عنوان این تاپیک نداره، و باید در تاپیک جداگانه ایی بحث بشه.
    در هر حال، برای پارادکس کافیه فایل بانک اطلاعاتی را کپی کنید جای دیگه. فکر نکنم راه حل پشتیبانی گیری داشته باشه.


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  27. #27

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    سلام آقای حبیبی .
    من برنامه شما رو استفاده کردم دستتون درد نکنه . ولی یک مشکلی که هستش اینه که وقتی رو سیستم خودم عمل بک آپ رو انجام میدم در زمان restore فایل ایجاد شده در یک سیستم جدید که نسخه msde روی اون نصبه با پیغام خطایی مواجه مشم که از فقدان فایل mdf ناشی میشه . اگه میشه شما یا بقیه دوستان منو راهنماییم کنین که چه کار کنم ؟

  28. #28

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    برنامه جناب آقای حبیبی ، فقط برای سرور کار میکنه ، من هم استفاده کردم. حالا برای بازیابی میتونید از کامپیوتر سرور استفاده کنید و فایل BackUp رو از روی سیستم سرور بخوانید.
    یا حق

  29. #29

    آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده! تصحيح شده!

    با سلام
    برنامه اي كه قبلا گذاشته بودم نواقص و ايراداتي داشت كه بيشتر دوستان به اين موضوع اشاره كرده بودند كه وقتي دوباره " گرفتن پشتيبان" را مي‌زنيم. تشخيص نميده فايل وجود داره و فايلي با همون اسم قبلي ساخته ميشه با حجم چند برابر.
    منم تو اين مدت سال همت نكردم درستش كنم. البته كار ساده ايه هم هست.
    حالا يه مقدار تغييرات دادم و اين مشكل را برطرف كردم.
    البته هنوز جاي كار زيادي داره. در برنامه فعلي وقتي فايلي با اون اسم وجود داشته باشه پيغام ميده كه اسم ديگه اي انتخاب كنيد ولي شما ميتونيد اين امكان را هم اضافه كنيد كه بپرسه مي خواهيد replace بشه يا مي‌خواهيد خود برنامه rename كنه و مثلا _2 به اسم فايل اضافه كنه.
    خلاصه اينكه هنوز اين برنامه نواقصي داره كه ديگه هر جور دوست داشتين تغييرش بدين.


    ************************************************** *********

    نياز به يك adocommand داريد كه ارتباطش را با دلفي برقرار كنيد.
    و یک shellTreeView یا یک ابزار دیگر شبیه آن براي انتخاب مسيري كه مي خواهيد فايل بك آپ آنجا ذخيره بشه.
    يك edit براي وارد كردن نام فايل (edit1)
    يك speedbutton براي ساخت نام پيش فرض فايل بك آپ )ميتونه button يا bitbtn هم باشه. هيچ فرقي نداره)
    تو رويداد كليكش نوشته بشه

    procedure TFrmBackup.SpeedButton1Click(Sender: TObject);
    var
    s,s1,s2,s3:string;
    begin
    s:=PrintNormal;
    s1:=copy(s,1,4);
    s2:=copy(s,6,2);
    s3:=copy(s,9,2);
    edit1.text:='backup'+s1+'_'+s2+'_'+s3;
    end;

    من invisible ش كردم. و از فرم اولي كه مي خوام وارد اين فرم بشم. مجازا كليكش ميكنم.

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    FrmBackup.show;
    FrmBackup.SpeedButton1.Click;
    end;

    و يك button براي اجراي كد گرفتن backup كه اين كد توش نوشته شده:

    procedure TFrmBackup.Button1Click(Sender: TObject);
    var
    str:string;
    begin
    str:=ShellTreeView1.Path;
    str:=str+'\'+Edit1.Text;
    if FileExists(str) then // check mikone file i ba in esm vojood dare ya na
    begin
    ShowMessage('A file with this name is exists, select another name');
    Edit1.SetFocus;
    end
    else
    begin
    with ADOCommand1 do
    begin
    CommandText:='BACKUP DATABASE MyDataBase TO DISK='+QuotedStr ( str);
    execute
    end;
    ShowMessage('BackUp DataBase has successfully done');
    end;
    end;

    به جاي MyDataBase اسم database خودتون را بنويسيد

    ************************************************** *********

    به همين سادگي! بقيه نواقص برنامه را به بزرگي خودتون ببخشيد
    موفق باشيد
    التماس دعا
    فايل نمونه ضميمه مي باشد
    فایل های ضمیمه فایل های ضمیمه

  30. #30
    کاربر دائمی آواتار daffy_duck376
    تاریخ عضویت
    آبان 1385
    محل زندگی
    قزوین
    سن
    41
    پست
    858

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    نقل قول نوشته شده توسط polpolpolpol مشاهده تاپیک
    سلام آقای حبیبی .
    من برنامه شما رو استفاده کردم دستتون درد نکنه . ولی یک مشکلی که هستش اینه که وقتی رو سیستم خودم عمل بک آپ رو انجام میدم در زمان restore فایل ایجاد شده در یک سیستم جدید که نسخه msde روی اون نصبه با پیغام خطایی مواجه مشم که از فقدان فایل mdf ناشی میشه . اگه میشه شما یا بقیه دوستان منو راهنماییم کنین که چه کار کنم ؟
    با اجازه دوستان
    برایrestore کردن باید یک بانک به همون نام روی SQL باشه مگر نه RESTORE نمی کنه
    شما میتو نید با دستور CREATE DATA BASE یک دیتابیس خالی ایجاد کنید بعد RESTOR کنید

  31. #31
    کاربر دائمی آواتار سيد مجتبي هاشمي
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    استان فارس - شهرستان رستم - شهر مصیری
    سن
    38
    پست
    265

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    با استفاده از کد زیر Backup میگیرم ولی اگه دوباره بخوام Backup بگیرم و روی همون قبلی باشه یعنی اسم و محل ذخیره شدنش رو عوض نکنم حجم Backup گرفته شده دو برابر میشه. در یکی از تاپیکها آریوبرزن گفته بود باید از کلمه differential استفاده کرد اما نگفته بودن کجا باید استفاده بشه. لطفا اگه میتونید کمک کنید تا این مشکل رو حل کنم. ممنون.


    procedure TMain.N34Click(Sender: TObject);
    begin
    if SaveDialog1.Execute then
    begin
    with ADOCommand1 do
    begin
    CommandText:='BACKUP DATABASE photographer TO DISK='+QuotedStr(SaveDialog1.FileName);
    execute
    end;
    ShowMessage('پشتیبان گیری با موفقیت انجام شد');
    end;
    end;

  32. #32
    کاربر دائمی آواتار سيد مجتبي هاشمي
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    استان فارس - شهرستان رستم - شهر مصیری
    سن
    38
    پست
    265

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    لطفا میشه بگید از این کلمه یعنی کلمه differential باید در کجای کد زیر استفاده بکنم؟

    procedure TMain.N34Click(Sender: TObject);
    begin
    if SaveDialog1.Execute then
    begin
    with ADOCommand1 do
    begin
    CommandText:='BACKUP DATABASE photographer TO DISK='+QuotedStr(SaveDialog1.FileName);
    execute
    end;
    ShowMessage('پشتیبان گیری با موفقیت انجام شد');
    end;
    end;

  33. #33
    کاربر دائمی آواتار سيد مجتبي هاشمي
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    استان فارس - شهرستان رستم - شهر مصیری
    سن
    38
    پست
    265

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    آقای کشاورز شما خودتون نمیتونید یک جواب کامل برای این مشکل ارائه بدین تا مشکل من هم حل بشه؟

  34. #34
    کاربر دائمی آواتار merced
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    خراسان جنوبي
    پست
    562

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    يه سر به Help مي زدي


    BACKUP DATABASE { database_name | @database_name_var }
    TO < backup_device > [ ,...n ]
    [ WITH
    [ BLOCKSIZE = { blocksize | @blocksize_variable } ]
    [ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
    [ [ , ] DIFFERENTIAL ]
    [ [ , ] EXPIREDATE = { date | @date_var }
    | RETAINDAYS = { days | @days_var } ]
    [ [ , ] PASSWORD = { password | @password_variable } ]
    [ [ , ] FORMAT | NOFORMAT ]
    [ [ , ] { INIT | NOINIT } ]
    [ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
    [ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
    [ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
    [ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
    [ [ , ] { NOSKIP | SKIP } ]
    [ [ , ] { NOREWIND | REWIND } ]
    [ [ , ] { NOUNLOAD | UNLOAD } ]
    [ [ , ] RESTART ]
    [ [ , ] STATS [ = percentage ] ]



    [/code]
    CommandText:='BACKUP DATABASE photographer TO DISK='+QuotedStr(SaveDialog1.FileName) + ' WITH DIFFERENTIAL ';
    [code]

    ولي اين مشکلت رو حل نمي کنه با يه DeleteFile ساده Backup قبلي رو پاک کن.
    يه پيشنهاد. Backup ها رو با اسمي که از تاريخ و ساعت سيستم ميگيري ذخيره کن . چه بسا روزي روزگاري به Backupي در سه هفته پيش نياز داشتي.

  35. #35
    کاربر دائمی آواتار سيد مجتبي هاشمي
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    استان فارس - شهرستان رستم - شهر مصیری
    سن
    38
    پست
    265

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    CommandText:='BACKUP DATABASE photographer TO DISK='+QuotedStr(SaveDialog1.FileName) + ' WITH DIFFERENTIAL ';

    ولي اين مشکلت رو حل نمي کنه با يه DeleteFile ساده Backup قبلي رو پاک کن.
    يه پيشنهاد. Backup ها رو با اسمي که از تاريخ و ساعت سيستم ميگيري ذخيره کن . چه بسا روزي روزگاري به Backupي در سه هفته پيش نياز داشتي.[/quote]


    با تشکر از شما ولی همون طور که گفتین این مشکلم رو حل نکرد. در ضمن میشه در مورد کدهایی که از Help دلفی گرفتین و اینجا نوشتین توضیح بدین؟ ممنون میشم.

  36. #36

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    سلام...
    من دقیقاً این تاپیک رو بررسی کردم!
    نمونه برنامه ها رو هم دانلود کردم که پست 20 از همه برام راحت تر بود!
    اما من دقیقاً از همون روش استفاده می کنم و این اررور رو برام نشون میده! البته فایل پشتیبان رو درست میکنه ولی موقع بازیابی اطلاعات مشکل دارم (عکس ضمیمه)!

    لطفاً منو هم راهنمائی کنید! ممنون
    عکس های ضمیمه عکس های ضمیمه

  37. #37
    کاربر دائمی آواتار سيد مجتبي هاشمي
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    استان فارس - شهرستان رستم - شهر مصیری
    سن
    38
    پست
    265

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    با کد زیر که همون کد آقای عقاب هست و من یه کم تغییرش دادم میتوننین به طور کامل از بانک برنامه پشتیبان بگیرین. روی فرم یک ShellTreeView و یک ADOCommand و یک Button قرار بدین. روی Button دو بار کلیک کنید و کد زیر را بنویسید. فایل پشتیبان گرفته شده در محلی که انتخاب میکنید با نامی که از ساعت و تاریخ جاری سیستم تشکیل شده ذخیره میشود.


    procedure TBackup.Button1Click(Sender: TObject);
    var
    str,s,s1,s2,s3,t,t1,t2,t3,t4 : string;
    begin
    try
    str := ShellTreeView1.Path;

    s := DateToStr(Date);
    s1 := copy(s,1,4);
    s2 := copy(s,6,2);
    s3 := copy(s,9,2);
    s := 'backup_'+s1+'_'+s2+'_'+s3;

    t := TimeToStr(time);
    t1 := copy(t,1,2);
    t2 := copy(t,4,2);
    t3 := copy(t,7,2);
    t4 := copy(t,10,7);
    t := ' in clock '+t1+'-'+t2+'-'+t3+' '+t4;

    str := str+'\'+s+t;
    with ADOCommand1 do
    begin
    CommandText:='BACKUP DATABASE photographer TO DISK='+QuotedStr(str);
    execute
    end;
    ShowMessage('پشتیبان گیری با موفقیت انجام شد');
    except
    MessageDlg('در پشتیبان گیری خطا رخ داده است. لطفا دوباره سعی کنید',mtError,[mbOK],0);
    end;
    end;


    اگه این کد مشکلی داشت شما بگید من با کمال میل میپذیرم.

  38. #38

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    نقل قول نوشته شده توسط mojtaba_ha2007 مشاهده تاپیک
    با کد زیر که همون کد آقای عقاب هست و من یه کم تغییرش دادم میتوننین به طور کامل از بانک برنامه پشتیبان بگیرین. روی فرم یک ShellTreeView و یک ADOCommand و یک Button قرار بدین. روی Button دو بار کلیک کنید و کد زیر را بنویسید. فایل پشتیبان گرفته شده در محلی که انتخاب میکنید با نامی که از ساعت و تاریخ جاری سیستم تشکیل شده ذخیره میشود.


    اگه این کد مشکلی داشت شما بگید من با کمال میل میپذیرم.

    آقا خوبه من گفتم Sample رو دانلود و از همون روش استفاده می کنم!
    آخه عزیز من شما که فقط اسم فایل رو تغییر دادی! مشکل اسم فایل نیست؛
    Error رو نگاه کنید؛ بعدش به Backup Log Database توی اینجا نگاه کنید :http://www.datasprings.com/Resources...S/Default.aspx

    من فقط نمیدونم اصلاً مشکل از بزرگی یا اندازه Database هستش که اون error رو موقع Restor میده یا نه؟! اگه هست چطوری باید Backup Log Database... رو بکار ببرم؟!

  39. #39
    کاربر دائمی آواتار matinebi
    تاریخ عضویت
    آبان 1386
    محل زندگی
    نیشابور
    پست
    433

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    اگه امکان داره یک sample برای گرفتن بکاپ و رستور (فقط برای یک سیستم)که زمانی بکاپ میگیریم حجم فایل بکاپ 2 برابر نشه و بشه اسم اون رو از تاریخ سیستم گرفت قرار دهید

    با تشکر فراوان

  40. #40
    کاربر دائمی آواتار daffy_duck376
    تاریخ عضویت
    آبان 1385
    محل زندگی
    قزوین
    سن
    41
    پست
    858

    نقل قول: آموزش طریقه گرفتن backup از پایگاه داده SQL Server در یک برنامه دلفی ساده!

    با اجازه دوستان
    حجم BACKup رو که ما تعیین نمی کنیم چون ما فقط با دستورات SQL به SQL SERVER فرمان پشتیبانگیری رو میدیم . شما میتونید با توابعی که برای ZIP کردن فایله تو دلفی هست انو ZIP کنی تا حجمش کم بشه ! برای گرفتن تاریخ سیستم از تابع NOW برای متغیر TDATETIME استفاده کنید بقیه هم با روشی که دوستان زحمتشو کشیدن معرفی کردن ادامه بدید

تاپیک های مشابه

  1. یک مشکل در تهیه backup از جداول SQL Server
    نوشته شده توسط Lida Lari در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 7
    آخرین پست: سه شنبه 16 مهر 1387, 10:54 صبح
  2. up شدن اتوماتیک backup server
    نوشته شده توسط Yunas Farhadnia در بخش شبکه و Networking‌
    پاسخ: 1
    آخرین پست: یک شنبه 27 مرداد 1387, 08:51 صبح
  3. گرفتن backup از SQL Server در Delphi
    نوشته شده توسط E_Alikhani در بخش برنامه نویسی در Delphi
    پاسخ: 15
    آخرین پست: شنبه 04 شهریور 1385, 00:25 صبح
  4. نحوه Backup گیری از فایلهای Sql server
    نوشته شده توسط Dolphin در بخش برنامه نویسی در Delphi
    پاسخ: 5
    آخرین پست: دوشنبه 30 مرداد 1385, 07:19 صبح
  5. Backup SQL Server
    نوشته شده توسط sajjadrazmi در بخش SQL Server
    پاسخ: 8
    آخرین پست: سه شنبه 24 مرداد 1385, 21:14 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •