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

نام تاپیک: backup , Restore database

  1. #1

    Angry backup , Restore database

    سلام این کد های بک آپ و رستور برنامه منه هر دوش اررور میده.
    کمککککککککککککککککککککککک ککک


    واسه بک آپ :

    private void btn_backup_Click(object sender, EventArgs e)
    {
    SqlConnection con = new SqlConnection(@"data source=.; initial catalog=dabirkhane; integrated security=true");
    SqlCommand com = new SqlCommand("backup Database dabirkhane to disk='" + txt_path_backup.Text + "'", con);
    con.Open();
    int result = com.ExecuteNonQuery();
    if (result > 0)
    MessageBox.Show("backup compelete.");
    con.Close();
    }


    واسه رستور :

     private void btn_restore_Click(object sender, EventArgs e)
    {
    SqlConnection con = new SqlConnection(@"data source=.; initial catalog=dabirkhane; integrated security=true");
    SqlCommand com = new SqlCommand("Restore Database dabirkhane From disk ='"+txt_path_restore.Text+"'"+"With File=1,Norecovery'" , con);
    con.Open();
    int result = com.ExecuteNonQuery();
    if (result > 0)
    MessageBox.Show("Restore compelete.");
    con.Close();
    }
    آخرین ویرایش به وسیله ammarkarimi : دوشنبه 11 شهریور 1387 در 10:56 صبح

  2. #2

    نقل قول: backup , Restore database

    سلام
    چه اروری میده ؟
    بگو شاید بتونم کمکت کنم

  3. #3

    نقل قول: backup , Restore database

    از این خط می گیره
    int result = com.ExecuteNonQuery();


    کلا چه جوری میشه نوشت؟کسی بلد نیست راهنمایی کنه.
    خواهشا کسی نگه سرچ کن که این ها رو از سرچ در آوردم)

  4. #4

    نقل قول: backup , Restore database

    اصلا کد بالا را بی خیال !
    شما کد بکآپ و رستور رو ندارید.

  5. #5
    کاربر دائمی آواتار pars.engineer
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    187

    نقل قول: backup , Restore database

    از این خط می گیره

    int result = com.ExecuteNonQuery();

    خوب اين كه معلومه كه از اين خط خطا مي گيرد. اينكه چه خطايي مي گيرد مهم است.
    به هر حال براي backUp كد زير را استفاده كنيد.



    objCommand =
    newSqlCommand("BACKUP DATABASE YourDataBase TO DISK = N'" + txtDataFileName.Text + "'" +

    " WITH NOFORMAT, NOINIT, NAME = N'mydb-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10", objConnection);

    objConnection.Open();
    intSuccessRecovery = objCommand.ExecuteNonQuery();
    objConnection.Close();





    روش Restore هم در لينك زير كاملا توضيح داده ام.

    https://barnamenevis.org/showthread.php?t=118712

    موفق باشيد.
    آخرین ویرایش به وسیله pars.engineer : دوشنبه 11 شهریور 1387 در 17:50 عصر دلیل: مشكل تايپي

  6. #6
    کاربر دائمی آواتار bachebahal_1363
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    اینترنت
    پست
    336

    نقل قول: backup , Restore database

    اگر خوب جستجو می کردی یه چیزای بهتری پیدا می کردی .
    من در تاپیک زیر یک برنامه قرار دادم که با استفاده از SqlDmo می تونی به راحتی BackUpو Restore کنی :
    نمایش تاپیک

    دانلود مستقیم برنامه

  7. #7

    نقل قول: backup , Restore database

    کد بکاپ رو به صورت زیر تغییر دادم
    private void btn_backup_Click(object sender, EventArgs e)
    {
    SqlConnection objConnection = new SqlConnection("server=.; database=db_test; integrated security=true");
    SqlCommand objCommand =new SqlCommand("BACKUP DATABASE db_test TO DISK ='c:\\b.bak' WITH NOFORMAT, NOINIT, NAME = N'mydb-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10", objConnection);
    objConnection.Open();
    int Successbackup = objCommand.ExecuteNonQuery();
    if (Successbackup > 0)
    MessageBox.Show("backup compelete.");
    objConnection.Close();
    }

    ولی مسیج باکس کامپلت اجرا نمی شه.(بعد از زدن دکمه backup)
    وبا هر بار زدن دکمه backup ، دو مگ به حجم فایل بکاپ اضافه می شه .چه کار کنم؟؟؟؟؟؟؟؟؟؟؟

  8. #8

    نقل قول: backup , Restore database

    WITH NOFORMAT, NOINIT, NAME = N'mydb-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

    میشه بگید هر کدوم از این پارامتر ها چکار می کنه؟
    فکر کنم یکیش برای ریپلیس رو بانک قبلی باشه.

  9. #9
    کاربر دائمی آواتار pars.engineer
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    187

    نقل قول: backup , Restore database

    میشه بگید هر کدوم از این پارامتر ها چکار می کنه؟


    استفاده از اين پارامترها ضروري نيست و اغلب زماني كاربرد دارند كه بخواهيم فايل پشتيبان را بر روي نوار ذخيره كنيم.
    به عنوان مثال NoUnload مشخص مي كند كه نوار پس از خاتمه پشتبان، خارج نشود و يا NoRewind مشخص مي كند كه نوار پس از خاتمه پشتيبان گيري به عقب بر گردانده نشود.
    Stats فواصل زماني اطلاع رساني پيشرفت كار را مشخص مي كند و وقتي برابر 10 است بدين معناست كه پس از انجام 10 درصد از عمليات پشتيبان گيري SQL پيام مناسب را بر گرداند.

    در مورد مشكل شما نيز چون NOINIT ست شده است، پس از هر بار پشتيبان گيري اطلاعات جديد به ادامه فايل قبلي اضافه مي شود و اگر آن را به INIT تغيير دهيد، هر بار اطلاعات قبلي از بين خواهد رفت.

    در مورد MessageBox هم، بايد بدانيد كه تابع ExecuteNonQuery تعداد سطر هايي را مورد اثر قرار گرفته اند، بر مي گرداند، و در هنگام اجراي دستور BackUp معمولا يك عدد منفي بر گردانده خواهد شد.(اغلب اوقات -1) پس كدتان را به صورت زير تغيير دهيد.


    if (Successbackup != 0)
    MessageBox.Show("backup compelete.");

    موفق باشيد

  10. #10

    نقل قول: backup , Restore database

    آقا دمت گرم.درست شد.
    ولی با رستور مشکل دارم

    کد رستور :
    SqlConnection SqlCon = new SqlConnection("server=.; database=dabirkhane; integrated security=true");
    SqlCommand SqlCom = new SqlCommand();
    SqlCon.Open();
    SqlCom.CommandText =
    "ALTER DATABASE dabirkhane SET SINGLE_USER WITH ROLLBACK IMMEDIATE" +
    " USE master; RESTORE DATABASE dabirkhane FROM DISK ='" + txt_path_restore.Text + "'";
    SqlCom.Connection = SqlCon;
    SqlCom.ExecuteNonQuery();
    SqlCon.Close();

    //*******************

    SqlCon.Open();
    SqlCom.CommandText =
    "ALTER DATABASE dabirkhane SET MULTI_USER ";
    SqlCom.Connection = SqlCon;
    SqlCom.ExecuteNonQuery();
    SqlCon.Close();
    MessageBox.Show("بازگردانی اطلاعات با موفقیت انجام شد");


    کد رستور این خطا رو می ده :
    The tail of the log for the database "dabirkhane" has not been backed up. Use BACKUP LOG WITH NORECOVERY to backup the log if it contains work you do not want to lose. Use the WITH REPLACE or WITH STOPAT clause of the RESTORE statement to just overwrite the contents of the log.
    RESTORE DATABASE is terminating abnormally.

  11. #11
    کاربر دائمی آواتار bachebahal_1363
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    اینترنت
    پست
    336

    نقل قول: backup , Restore database

    آقا می شه بگی دم کی گرم؟
    از کد کی استفاده کردی که درست شد ، که حالا برای restore به مشکل بر خورد کردی ؟

  12. #12

    نقل قول: backup , Restore database

    از کد pars.engineer
    البته برنامه شما رو هم دیدم.(ولی هنگ کردم خوب نوشته شده بود(عالی) ولی من تو بانک تازه کارم)
    از شمام سپاسگزارم

  13. #13

    نقل قول: backup , Restore database

    حالا می تونی بگی مشکل من (تو پست 11) چیه؟

  14. #14
    کاربر دائمی آواتار mohammady2
    تاریخ عضویت
    مهر 1386
    محل زندگی
    VS
    پست
    154

    نقل قول: backup , Restore database

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    namespace DataBR
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
    //پشتیبان گیری از بانک اطلاعاتی
    SqlConnection con = new SqlConnection();
    con.ConnectionString = "Data Source=(local)\\SQLEXPRESS;database=aaa;Integrated Security=SSPI";
    SqlCommand cmd = new SqlCommand();
    try
    {
    con.Open();
    //BACKUP DATABASE نام بانک اطلاعاتی TO DISK = 'مسیر پشتیبان گیری بانک اطلاعاتی'
    string query = "BACKUP DATABASE aaa TO DISK = 'C:\\database\\aaabackup.MDF'";
    cmd.CommandText = query;
    cmd.Connection = con;
    cmd.ExecuteNonQuery();
    con.Close();
    MessageBox.Show("پشتیبان گیری به درستی انجام شد");
    }
    catch
    {
    MessageBox.Show("اشکال در ارتباط با بانک اطلاعاتی");
    }

    }
    private void button2_Click(object sender, EventArgs e)
    {
    //بازیابی بانک اطلاعاتی
    SqlConnection con = new SqlConnection();
    con.ConnectionString = "Data Source=(local)\\SQLEXPRESS;database=aaa;Integrated Security=SSPI";
    SqlCommand cmd = new SqlCommand();
    try
    {
    con.Open();
    //USE master RESTORE DATABASE [نام بانک اطلاعاتی] FROM DISK = 'مسیر فایل بانک اطلاعاتی'
    string query = "USE master RESTORE DATABASE [aaa] FROM DISK = 'C:\\DataBase\\aaabackup.MDF'";
    cmd.CommandText = query;
    cmd.Connection = con;
    cmd.ExecuteNonQuery();
    con.Close();
    MessageBox.Show("بازیابی به درستی انجام شد");
    }
    catch
    {
    MessageBox.Show("اشکال در ارتباط با بانک اطلاعاتی");
    }
    }
    }
    }

  15. #15

    نقل قول: backup , Restore database

    mohammady2 جان.کد شما رو آزمایش کردم.رستورش اررور زیر رو می ده :
    Exclusive access could not be obtained because the database is in use.
    RESTORE DATABASE is terminating abnormally.
    Changed database context to 'master'.

  16. #16
    کاربر دائمی آواتار mohammady2
    تاریخ عضویت
    مهر 1386
    محل زندگی
    VS
    پست
    154

    نقل قول: backup , Restore database

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

  17. #17

    نقل قول: backup , Restore database

    ببین عزیز اگ برنامه رو در یک پروژه ساده با یه فرم انجام بدی میبینی جواب میده مشکل اینجاست که تو وسط اجرای برنامهت میخوای ریاستور کنی .به فرض اگه قبل از لاگین شدن به برنامت یعنی باز شدن دیتابیست این کد رو امتحان کنی میبینی جواب میده حالا منم دنبال اینم که میشه بدون خروج از برنامه ارتباط رو قطع و ری استور کرد؟
    پست های اول این تایپیک رو نگاه کن.یک کدی هست که نمی دونم سینگل یوزر می کنه و ... از این حرف ها...
    ببین چیزی سر در می یاری؟

  18. #18

    نقل قول: backup , Restore database

    سلام به همه
    زود تر مشكل رو حل كنيد من هم اين مشكل رو دارم
    اگه تونستم حلش كنم حتما" به همه مي گم
    خيلي ممنوع از كد هاي خوبي كه در وبلاگ گذاشتيد

  19. #19

    نقل قول: backup , Restore database

    سلام به همه
    زود تر مشكل رو حل كنيد من هم اين مشكل رو دارم
    اگه تونستم حلش كنم حتما" به همه مي گم
    خيلي ممنوع از كد هاي خوبي كه در وبلاگ گذاشتيد

  20. #20

    نقل قول: backup , Restore database

    مشکل کد mohammady2 برای restore این است که در connection string با DB ارتباط برقرار شده است که قرار است عمل restore بر روی آن انجام گیرد
    برای حل این مشکل باید در connection string نام پایگاه داده مشخص نشود و یا با پایگاه داده master ارتباط برقرار شود (ضمن اینکه نباید کانکشن فعالی به آن DB داشته باشیم)

  21. #21
    کاربر دائمی آواتار pars.engineer
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    187

    نقل قول: backup , Restore database

    شما اگر مطالب همين تاپيك رو به دقت مطالعه مي كرديد، جوابتان را مي گرفتيد.
    به هر حال به لينك زير مراجعه كنيد(اين لينك را در چند پست قبل نيز گذاشته ام)
    اگر مشكلتان حل نشد متن خطا را بگذاريد.
    خود من از اين روش استفاده مي كنم و مشكلي ندارم.
    https://barnamenevis.org/showthread.php?t=118712
    به پست سوم و چهارم مراجعه نماييد.

    موفق باشيد.

  22. #22

    Thumbs up نقل قول: backup , Restore database

    نقل قول نوشته شده توسط pars.engineer مشاهده تاپیک
    خوب اين كه معلومه كه از اين خط خطا مي گيرد. اينكه چه خطايي مي گيرد مهم است.
    به هر حال براي backUp كد زير را استفاده كنيد.



    objCommand =
    newSqlCommand("BACKUP DATABASE YourDataBase TO DISK = N'" + txtDataFileName.Text + "'" +

    " WITH NOFORMAT, NOINIT, NAME = N'mydb-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10", objConnection);

    objConnection.Open();

    intSuccessRecovery = objCommand.ExecuteNonQuery();

    objConnection.Close();









    روش Restore هم در لينك زير كاملا توضيح داده ام.



    موفق باشيد.

    دستتون درد نکنه کدش درست و عالی هستش

  23. #23

  24. #24
    کاربر دائمی آواتار danial82
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    iran_tehran
    پست
    531

    نقل قول: backup , Restore database

    گرفتن Backup و Restore کردن دیتابیس
    https://barnamenevis.org/attach...2&d=1226600148

  25. #25
    کاربر دائمی آواتار saied_genius
    تاریخ عضویت
    آبان 1386
    محل زندگی
    IRAN فعلاً ...
    پست
    595

    نقل قول: backup , Restore database

    با سلام،

    در هنگام Backup و Restore شما به بانك مورد نظر متصل هستيد.

    معمولاً پس از Backup در آينده مي خواهيد از آن استفاده كنيد و Restore نماييد...

    شايد بشود روش شما را اصلاح كرد ولي اگر بخواهيد به همان صورتي كه Backup گرفته ايد Restore نماييد ، به هيچ عنوان موفق نخواهيد شد.

    زيرا ديتابيسي كه در حال استفاده است و اتصال شما به SQLServer از طريق آن است اجازه نمي دهد آنرا Restore نماييد. (حداقل در همه حالات جواب نمي دهد؛ و يك برنامه نويس بايد تمام حالت ها را در نظر بگيرد.)

    شما مي توانيد براي اين كار ديتابيس در حال استفاده را از ديتابيس خود به "master" تغيير دهيد و پس از اتمام Backup و يا Restore به حالت اول بازگردانيد.

    ولي من براي اين كار (چون خودم يك دور سر همين پدرم درآمده) يك Script نوشته ام كه ميتوانيد در برنامه خود به صورت Script فراخواني كنيد و يا آنرا به صورت Stored Procedure درآوريد. (كه بهتر است و راحت تر است)

    اسكريپت Backup كه يك Stored Procedure براي Backup مي سازد.


    USE [نام ديتابيس]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[BackupDB]

    @BackupPath varchar(max)

    AS

    backup database [نام ديتابيس] to disk =@BackupPath with INIT, SKIP, NOUNLOAD, STATS = 10

    RETURN



    و

    اسكريپت Restore كه يك Stored Procedure براي Restore مي سازد.



    use [master]
    GO

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[RestoreDB]

    @BackupPath varchar(max)

    AS

    RESTORE DATABASE [نام ديتابيس]
    FROM DISK = " + "'" + RestorePath + "'" + " WITH RECOVERY, REPLACE

    RETURN



    در صورت هرگونه سوال در خدمتم.

    موفق باشيد.

  26. #26
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1387
    پست
    70

    نقل قول: backup , Restore database

    سلام عالب بود ممنون.

  27. #27

    نقل قول: backup , Restore database

    سلام بر همه بر و بچ
    سیتم backtp گیری Linq چه جوریه؟

  28. #28
    کاربر دائمی آواتار saied_genius
    تاریخ عضویت
    آبان 1386
    محل زندگی
    IRAN فعلاً ...
    پست
    595

    نقل قول: backup , Restore database

    نقل قول نوشته شده توسط javapersian مشاهده تاپیک
    سلام عالب بود ممنون.
    خواهش مي كنم عزيز ، قابل نداشت.

  29. #29
    کاربر دائمی آواتار alisebt
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    ايران
    پست
    120

    نقل قول: backup , Restore database

    روی لوکال دستورات کار می کنه ولی من روی وب به این خطا بر میخورم. پرمیشن هم همه جوره ست کردم ولی هنوز خطا داره

    Cannot open backup device 'c:\\b.bak'. Operating system error 5(Access is denied.).
    BACKUP DATABASE is terminating abnormally.




    آدرس رو روی هاست هم که میدم همین خطا رو میده.

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

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