صفحه 7 از 10 اولاول ... 56789 ... آخرآخر
نمایش نتایج 241 تا 280 از 396

نام تاپیک: backup and restore گرفتن پشتیبان از دیتابیس و بازگردانی آن

  1. #241

    نقل قول: مشکل در کد بکاپ گیری

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

  2. #242
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: مشکل در کد بکاپ گیری

    شرط براش بزار و از کلاس system.io استفاده کن می تونی قبلی رو پاک کنی !

  3. #243

    نقل قول: مشکل در کد بکاپ گیری

    آدرس دهیش چطوره توی مثال شما خوب بود اما چون ریستور نداشت از این کد استفاده کردم خواستم اون شرط شما رو بذارم اما چون مسیر ذخیره سازی توی خود پوشه برنامه هست نمیدونستم چکار کنم

  4. #244

    نقل قول: مشکل در کد بکاپ گیری

    کد کلاس
            public static void SettingClass(string SqlCom)
    {
    com.CommandText = SqlCom;
    com.CommandType = System.Data.CommandType.Text;
    com.Connection = new SqlConnection(Connectionstring);
    SqlDataReader dr = null;
    try
    {
    com.Connection.Open();
    dr = com.ExecuteReader();
    }
    catch
    {
    }
    finally
    {
    if (com.Connection.State == ConnectionState.Open)
    com.Connection.Close();
    }
    }

  5. #245

    نقل قول: مشکل در کد بکاپ گیری

    کد بازگرداندن فایل پشتیبان Restore
      openFileDialog1.FileName = "";
    openFileDialog1.Filter = "Backup File|*.bak";
    openFileDialog1.Title = "بازیابی بانک اطلاعاتی";
    openFileDialog1.ShowDialog();
    if (openFileDialog1.FileName != "")
    {
    String strRestoreCommand = "USE MASTER RESTORE DATABASE [نام بانک] FROM DISK = N'" + openFileDialog1.FileName + "' WITH FILE = 1, NOUNLOAD, " +
    "REPLACE, STATS = 10";
    SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=نام بانک;Integrated Security=True");
    try
    {
    SqlDataReader dr = null;
    con.Open();
    SqlCommand sqlCommand = new SqlCommand(strRestoreCommand, con);
    dr = sqlCommand.ExecuteReader();
    MessageBox.Show("بازیابی اطلاعات با موفقیت انجام پذیرفت", "کاربر گرامی");
    }
    catch
    {
    return;
    }
    finally
    {
    con.Close();
    }
    آخرین ویرایش به وسیله hosseinzamani13677 : چهارشنبه 04 بهمن 1391 در 23:01 عصر

  6. #246

    نقل قول: مشکل در کد بکاپ گیری

    دوست عزیز شما کانکشن رو چطور تعریف کردین ؟

  7. #247

    Unhappy مشکل در restore کردن database با سی شارپ

    با سلام
    من یه کد برای restore کرن دیتا بیس نوشتم که از اکثر راههای پیشنهادی دوستان استفاده کردم ولی خطای
    exclosive access could not be obtained because the database is in use.
    RESTORE DATABASE is terminating abnormally.
    changed database context to 'master'

    رو میده ، که گویا یه مشکلی با دیتابیس master داره
    کسی میدونه مشکل من چیه؟(فقط نگید connection string چون با همین connection کد backup داره درست کار می کنه)
    میشه منو راهنمایی کنید؟؟؟؟؟؟؟

    Cursor.Current = Cursors.WaitCursor;

    try
    {
    if (File.Exists(@"d:\BackupProjectMelkAra\MelkAra_Db. bak"))
    {
    if (MessageBox.Show("آیا از جایگزینی اطلاعات فایل پشتیبان گیری اطمینان دارید؟", "جایگزینی فایل پشتیبان", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
    {
    //Connect SQL-------ww.papro.blogfa.com--------------------------------
    SqlConnection connect;
    string con = "Data Source=.\\SQLEXPRESS; AttachDbFilename=" + Application.StartupPath + "\\MelkAra_Db.mdf; Integrated Security=True; Connect Timeout=30; User Instance=True";
    //string con = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\MelkAra_Db.mdf;Integrated Security=True;User Instance=True";
    connect = new SqlConnection(con);
    connect.Open();
    //---------------------------ww.papro.blogfa.com-----------------------

    //Excute SQL----------------
    SqlCommand command;
    //command = new SqlCommand("use master", connect);
    //command.ExecuteNonQuery();


    //command = new SqlCommand(@"USE [master]; RESTORE DATABASE [" + Application.StartupPath + "\\MelkAra_Db.mdf] FROM DISK = N'MelkAra_Db.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10", connect);
    //command = new SqlCommand(@"restore database MelkAra_Db from disk = 'd:\BackupProjectMelkAra\MelkAra_Db.bak'", connect);
    command = new SqlCommand(@"USE [master]; RESTORE DATABASE [" + Application.StartupPath + "\\MelkAra_Db.mdf] FROM DISK = 'd:\\BackupProjectMelkAra\\MelkAra_Db.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10", connect);

    command.ExecuteNonQuery();
    //---------------------------------ww.papro.blogfa.com------------------------------
    connect.Close();

    MessageBox.Show("جایگزینی فایل پشتیبانی با موفقیت انجام شد", "جایگزینی فایل پشتیبان", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    }
    else
    MessageBox.Show(@"Do not make any endorsement above (or is not in the correct path)", "Restoration", MessageBoxButtons.OK, MessageBoxIcon.Information);

    }
    catch (Exception exp)
    {
    MessageBox.Show(exp.Message);
    }


  8. #248
    کاربر دائمی آواتار Alfred188
    تاریخ عضویت
    دی 1389
    محل زندگی
    مازندران
    پست
    288

    نقل قول: مشکل در restore کردن database با سی شارپ

    درود، برای restore کردن باید اول دسترسی به بانک رو قطع کنید (در صورت امکان از یه برنامه جانبی استفاده کنید)
    من از این کد استفاده می کنم

    string connStr2 = "Data Source=.\\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";
    string pro = "Data Source=.\\SQLEXPRESS;Integrated Security=True";

    private void radButton2_Click(object sender, EventArgs e)
    {
    openFileDialog1.DefaultExt = "BAK";
    openFileDialog1.FileName = "backup file ";
    openFileDialog1.Filter = @"SQL Backup Files (*.BAK)|*.BAK |All Files(*.*)|*.*)";
    openFileDialog1.Title = "Backup SQl files";


    bool fg = false;
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {

    //Drop database
    string sql0 = "DROP DATABASE [ِDatabaseName]";
    SqlConnection thisconnection0 = new SqlConnection(pro);
    SqlCommand mycommand0 = new SqlCommand(sql0, thisconnection0);
    try
    {
    thisconnection0.Open();
    mycommand0.ExecuteNonQuery();
    }
    catch {
    fg = false;
    MessageBox.Show("خطا در بازیابی پشتیبان،کد 149");
    }
    finally
    {
    thisconnection0.Close();
    }

    bool nj = false;

    string connString = "Data Source=.\\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";
    string cmdText = "select * from master.dbo.sysdatabases where name='DatabaseName'";

    bool bRet = false;
    using (SqlConnection sqlConnection = new SqlConnection(connString))
    {
    sqlConnection.Open();
    using (SqlCommand sqlCmd = new SqlCommand(cmdText, sqlConnection))
    {
    SqlDataReader reader = sqlCmd.ExecuteReader();
    bRet = reader.HasRows;
    nj = reader.HasRows;
    reader.Close();
    }
    sqlConnection.Close();

    }

    if ((fg == true)&&(nj==false))
    {
    try
    {
    //restore database
    using (SqlConnection conn1 = new SqlConnection(connStr2))
    {
    string sqlStmt = String.Format("RESTORE DATABASE [ِDatabaseName] from DISK='{0}'", openFileDialog1.FileName);
    using (SqlCommand bu3 = new SqlCommand(sqlStmt, conn1))
    {
    conn1.Open();
    bu3.ExecuteNonQuery();
    conn1.Close();
    }
    label1.Text = "با موفقیت انجام شد";


    }//end of using connection
    }
    catch
    {
    MessageBox.Show("خطا در بازیابی پشتیبان،کد 151");
    }

    }
    else
    {
    MessageBox.Show("خطا در بازیابی پشتیبان،کد 150");
    }

    }//end of open dialog

    }


    امیدوارم کمکتون کنه
    موفق باشید

  9. #249
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: مشکل در restore کردن database با سی شارپ

    سلام. پیغام خطا میگه که دیتابیس شما در حال استفاده هست و طبیعی هم هست که دیتابیس فعال رو نمیشه از درون خودش ری استور کرد. شما باید اول دیتابیس رو offline کنید و بعد اقدام به ری استور کنید. در تاپیک زیر و در پست 19 مراحل و کد ری استور رو بصورت کامل قرار دادم.
    موفق باشید.
    https://barnamenevis.org/showthread.p...ghlight=backup

  10. #250

    نقل قول: مشکل در restore کردن database با سی شارپ

    اینم تغییراتی که به کدم دادم و درست شد
    امیدوارم به درد کسایی که این تاپیک رو می بینند بخوره


    Cursor.Current = Cursors.WaitCursor;

    try
    {
    if (File.Exists(@"d:\BackupProjectMelkAra\MelkAra_Db. bak"))
    {
    if (MessageBox.Show("آیا از جایگزینی اطلاعات فایل پشتیبان گیری اطمینان دارید؟", "جایگزینی فایل پشتیبان", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
    {
    //Connect SQL-------ww.papro.blogfa.com--------------------------------
    SqlConnection connect;
    string con = "Data Source=.\\SQLEXPRESS; AttachDbFilename=" + Application.StartupPath + "\\MelkAra_Db.mdf; Integrated Security=True; Connect Timeout=30; User Instance=True";

    connect = new SqlConnection(con);
    connect.Open();

    SqlCommand command;

    //بستن تمامی کانکشن ها
    string Alter1 = @"ALTER DATABASE [" + Application.StartupPath + "\\MelkAra_Db.mdf ] SET Single_User WITH Rollback Immediate";
    SqlCommand Alter1Cmd = new SqlCommand(Alter1, connect);
    Alter1Cmd.ExecuteNonQuery();
    // بازگردانی اطلاعات پشتیبانی گرفته شده
    command = new SqlCommand(@"USE [master]; RESTORE DATABASE [" + Application.StartupPath + "\\MelkAra_Db.mdf] FROM DISK = 'd:\\BackupProjectMelkAra\\MelkAra_Db.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10", connect);
    command.ExecuteNonQuery();
    // باز کردن تمامی کانکشن ها
    string Alter2 = @"ALTER DATABASE [" + Application.StartupPath + "\\MelkAra_Db.mdf] SET Multi_User";
    SqlCommand Alter2Cmd = new SqlCommand(Alter2, connect);
    Alter2Cmd.ExecuteNonQuery();

    //---------------------------------ww.papro.blogfa.com------------------------------
    connect.Close();

    MessageBox.Show("جایگزینی فایل پشتیبانی با موفقیت انجام شد", "جایگزینی فایل پشتیبان", MessageBoxButtons.OK, MessageBoxIcon.Information);
    this.Close();
    }
    }
    else
    MessageBox.Show(@"Do not make any endorsement above (or is not in the correct path)", "Restoration", MessageBoxButtons.OK, MessageBoxIcon.Information);

    }
    catch (Exception exp)
    {
    MessageBox.Show(exp.Message);
    }


  11. #251

    بک اپ گیری و خطای نشناختن instance

    سلام دوستان عزیز این کد رو برای بکاپ استفاده میکنم ولی این خطارو میده
    Instance failure

    !=پایگاه داده رو داخل خود C#‎‎ ساختم با sqlExpreess..
    با تشگر

     public static bool ExecuteQuery(string cmdText)
    {
    using (SqlConnection con = new SqlConnection(@"Server=.\\SQLEXPRESS;integrated security=true;"))
    {
    SqlCommand cmd = new SqlCommand(cmdText, con);
    cmd.CommandType = CommandType.Text;
    try
    {
    con.Open();
    cmd.ExecuteNonQuery();
    con.ChangeDatabase("master");
    con.Close();

    return true;
    MessageBox.Show("ok");
    }
    catch (Exception exp)
    {
    if (con.State != ConnectionState.Closed)
    {
    con.ChangeDatabase("master");
    con.Close();
    }
    MessageBox.Show(exp.Message);
    return false;
    }
    }
    }
    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    // TODO: This line of code loads data into the 'schoolDataSet.msg' table. You can move, or remove it, as needed.
    this.msgTableAdapter.Fill(this.schoolDataSet.msg);

    }

    private void button1_Click(object sender, EventArgs e)
    {
    string DataBaseName = "Database1";
    string Filepath = @"C:\Users\bcmodir\Desktop\ZABAN\file.bak";
    ExecuteQuery("USE master backup database " + DataBaseName + " to disk = '" + Filepath + "'");
    }
    }
    }

  12. #252
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: بک اپ گیری و خطای نشناختن instance

    با فرض اینکه نام اینستنس شما درست باشه

    یا اون (آ دورت بگردم) رو از اول رشته اتصال بردارید. (رجوع شود به کاربرد آ دورت بگردم در سی شارپ)
    یا بجای \\ از \ استفاده کنید.

    موفق باشید.

  13. #253

    نقل قول: بک اپ گیری و خطای نشناختن instance

    اونو درست کردم ولی میگه که دیتابیسی که نوشتید اسمشو وجود نداره؟؟
    database does not exist????
    عجیبه ها

  14. #254

    نقل قول: بک اپ گیری و خطای نشناختن instance

    دیتابیس که اتچ نشده که شما فقط نامش رو نوشتید. باید مسیر کامل دیتابیس رو بنویسید:
    string DataBaseName = "|datadirectory|\Database1.mdf";

    یا
    string DataBaseName = System.IO.Path.Combine(Application.StartupPath, "Database1.mdf");


    دو طرف DataBaseName هم براکت بزار:
    "USE master backup database [" + DataBaseName + "] to disk = '" + Filepath + "'"
    آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 22 بهمن 1391 در 00:20 صبح

  15. #255

    نقل قول: بک اپ گیری و خطای نشناختن instance

    ولی درست نشد دوستان ی خطای میدی خیلی گنگه میگه سینتکس نزدیکه ؟؟؟؟؟
    در خط 10 بالا
    Incorrect syntax near 'C:\Users\bcmodir\Documents\Visual Studio 2010\Projects\TESTPAYGAH\TESTPAYGAH\bin\Debug\Data  base1.mdf'.

  16. #256

    نقل قول: بک اپ گیری و خطای نشناختن instance

    نشد دوست عزیز نشدمتن خطا اینه
    Invalid column name 'is_compressed'.
    Invalid column name 'compressed_backup_size'.
    Could not insert a backup or restore history/detail record in the msdb database. This may indicate a problem with the msdb database. The backup/restore operation was still successful.
    Changed database context to 'master'.
    آخرین ویرایش به وسیله boysilent : یک شنبه 22 بهمن 1391 در 08:46 صبح

  17. #257

    نقل قول: مشکل در کد بکاپ گیری

    /// <summary>
    /// اجرای کوئری بدون برگشت دیتا
    /// </summary>
    /// <param name="Query"></param>
    /// <returns></returns>
    public int ExecuteUpdate(string Query)
    {
    command.CommandText = Query;
    int Code = 0;
    try
    {
    Code = command.ExecuteNonQuery();
    ExecuteMessage(Result.Success, null);
    return Code;
    }
    catch(Exception ex)
    {
    ExecuteMessage(Result.Error,ex.Message);
    return Code;
    }
    }

    /// <summary>
    /// پشتیبان گیری از دیتابیس با دریافت نام دیتابیس و مسیر ذخیره فایل بک آپ
    /// </summary>
    /// <param name="BackupDirectory"></param>
    /// <param name="DataBaseName"></param>
    public void BackupDatabase(string BackupDirectory,string DataBaseName)
    {
    ExecuteUpdate("BACKUP DATABASE " + DataBaseName + " TO DISK = '" + BackupDirectory + "' ");
    }

    /// <summary>
    /// بازیابی فایل بک آپ با دریافت نام دیتابیس و مسیر فایل بک آپ
    /// </summary>
    /// <param name="BackupDirectory"></param>
    /// <param name="DataBaseName"></param>
    public void RestoreBackup(string BackupDirectory, string DataBaseName)
    {
    string Query = "ALTER DATABASE " + DataBaseName + " SET SINGLE_USER With RollBack IMMEDIATE USE MASTER " +
    " RESTORE DATABASE " + DataBaseName + " FROM DISK = '" + BackupDirectory + "' With Replace";
    ExecuteUpdate(Query);
    }

  18. #258
    کاربر دائمی آواتار mohammad2407
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    502

    قابلیت Backup/Restore در برنامه

    سلام دوستان عزیز خسته نباشید من یک فرم دارم + دو تا کلید ....

    من میخوام از دیتابیسم که اسمش dbtest هست بکاپ بگیرم ولی متاسفانه قابلیت SQLDMO در نسخه 2008 حذف شده یعنی تا نسخه 2000 بوده

    حالا میشه یک نمونه سورس به من بدید از گرفتن Backup/Restore به صورت حرفه ای و پیشرفته و 100 درصد هم کار کنه اگر به صورت LINQ اموزش بدید که دیگه عالی میشه چون از ConnectionString خوشم نمیاد !!

    ممنون میشم راهنمایی کنید

    البته من تاپیک های زیادی در این مورد خوندم مثل زیر ولی همه ایراد داشتن !! برای همین مجبور شدم تاپیک بزنم

    نمونه برنامه های کوچک و مفيد در سي شارپ
    آخرین ویرایش به وسیله mohammad2407 : جمعه 27 بهمن 1391 در 12:03 عصر

  19. #259
    کاربر دائمی آواتار ordebehesht
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    یه گوشه دنج از این دنیا
    پست
    845

    نقل قول: قابلیت Backup/Restore در برنامه


  20. #260
    کاربر دائمی آواتار mohammad2407
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    502

    نقل قول: قابلیت Backup/Restore در برنامه

    دوست عزیز SQL-Demo مربوط میشه به SQLServer2000 من از 2008 استفاده میکنم دو لینکی که دادی برای من هیچ کاربردی نداره

    برای کسی خوبه که از SQL Server 2000 استفاده میکنه

    درنسخه 2008 چیزی به نام SQL DMO وجود نداره

    من از برنامه های زیر استفاده میکنم !!!

    Microsoft Visual Studio 2010
    Microsoft Visual Studio 2012
    SQL Server2008

  21. #261
    کاربر دائمی آواتار ordebehesht
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    یه گوشه دنج از این دنیا
    پست
    845

    نقل قول: قابلیت Backup/Restore در برنامه

    ببن شاید این لینک بدردت خورد البت یه فایله
    http://dl.sourcebaran.com/download/152/5Problem.rar

  22. #262
    کاربر دائمی آواتار mohammad2407
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    502

    نقل قول: قابلیت Backup/Restore در برنامه

    ممنون

    از کد زیر که استفاده میکنم خطا میده


    SqlConnection sq = new SqlConnection("Data Source=.;Integrated Security=True");
    SaveFileDialog sfd = new SaveFileDialog();
    sfd.Filter = "*.bak|*.bak";
    if (sfd.ShowDialog() == DialogResult.OK)
    {
    SqlCommand com = new SqlCommand("backup database " + txtDBName + " to disk='"
    +sfd.FileName + "'", sq);
    sq.Open();
    com.ExecuteNonQuery();
    sq.Close();
    }//if


    خطا از کد زیر است ::




    com.ExecuteNonQuery()


    یه کد به من بدید که کار کنه و خودتون هم 100 درصد تست کرده باشد .... الان من دو روز هست که دارم روی قسمت بکاپ کار میکنم و به نتیجه هم نمیرسم !!!!

  23. #263
    کاربر دائمی آواتار mohammad2407
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    تهران
    پست
    502

    نقل قول: قابلیت Backup/Restore در برنامه

    مشکل کاملا حل شد

    من الان وقتی دیتابیس ریستور میکنم باید یک بار برنامه ببندم و دوباره باز کنم تا تغییرات ( دیدن اطلاعات ) ببینم

    ایا کدی هست برای این کار ؟؟؟؟؟؟

  24. #264

    Question مشكل در Restore

    سلام من یک کد Backup گیری و Restore دارم که کد Backup به درستی کار می کند ولی موقعی که کد Restore را اجرا می کنم با خطایی زیر رو به رو می شوم .در ضمن من از Microsoft SQL Server 2008 برای بانک اطلاعاتی خود استفاده می کنم. و در موقع اجرای برنامه آنرا چه ببندم و چه باز باشد باز هم این خطا داده می شود. باید چکار کنم. تا این خطا رفع شود؟
    2013-02-15_171924.jpg
    2013-02-15_171627.jpg

  25. #265
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: مشكل در Restore

    سلام. پیغام خطا میگه که دیتابیس شما در حال استفاده هست و طبیعی هم هست که دیتابیس فعال رو نمیشه از درون خودش ری استور کرد. شما باید اول دیتابیس رو offline کنید و بعد اقدام به ری استور کنید. در تاپیک زیر و در پست 19 مراحل و کد ری استور رو بصورت کامل قرار دادم.
    موفق باشید.
    https://barnamenevis.org/showthread.p...ghlight=backup

  26. #266
    کاربر دائمی آواتار hossein_sh2008
    تاریخ عضویت
    مهر 1387
    محل زندگی
    استان فارس
    پست
    149

    نقل قول: بک اپ گیری و خطای نشناختن instance

    سلام
    دوستان من یک بانک با sql express خود سی شارپ طراحی کردم بدون sql server نصب باشه آیا امکان داره کد بک آپ و ری استور اون رو دوستان اینجا قرار بدن


    با تشکر

  27. #267

    نقل قول: مشکل در بکاپ و ریستور

    میذارمش توی تگ C#‎ که بقیه هم استفاده کنن

    کد بکاپ
    string bname = DateTime.Now.ToString("yyyyMMddHHmm");
    SaveFileDialog saveFileDialog = new SaveFileDialog();
    saveFileDialog.AddExtension = true;
    saveFileDialog.CheckFileExists = false;
    saveFileDialog.CheckPathExists = true;
    saveFileDialog.OverwritePrompt = true;
    saveFileDialog.FileName = "Backup"+bname;
    saveFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
    saveFileDialog.DefaultExt = "Bak";
    saveFileDialog.RestoreDirectory = true;
    saveFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
    if (saveFileDialog.ShowDialog() == DialogResult.OK)
    {
    try
    {
    this.Refresh();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\LMS_DB.mdf;Integrated Security=True;Connect Timeout=10;User Instance=True");
    cmd.Connection.Open();
    string dbname = cmd.Connection.Database;//گرفتن نام دیتابیس
    cmd.Connection.Close();
    SqlConnection.ClearAllPools();
    string query = "BACKUP DATABASE [" + dbname + "] TO DISK ='" + saveFileDialog.FileName + "'";
    cmd.Connection = new SqlConnection("Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
    cmd.Connection.Open();
    cmd.CommandText = query;
    cmd.ExecuteNonQuery();
    cmd.Connection.Close();
    this.Refresh();
    MessageBox.Show("نسخه پشتيبان به طور كامل ايجاد شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch
    {
    MessageBox.Show("اشكال در اتصال به بانك اطلاعات\nلطفا مجدد تلاش كنيد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }



    کد ریستور

    OpenFileDialog openFileDialog = new OpenFileDialog();
    openFileDialog.AddExtension = true;
    openFileDialog.CheckFileExists = false;
    openFileDialog.CheckPathExists = true;
    openFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
    openFileDialog.DefaultExt = "Bak";
    openFileDialog.RestoreDirectory = true;
    openFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
    if (openFileDialog.ShowDialog() == DialogResult.OK)
    {
    try
    {
    this.Refresh();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\LMS_DB.mdf;Integrated Security=True;Connect Timeout=10;User Instance=True");
    cmd.Connection.Open();
    string dbname = cmd.Connection.Database;
    cmd.Connection.Close();
    string query = "ALTER DATABASE [" + dbname + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;RESTORE DATABASE [" + dbname + "] FROM DISK = '" + openFileDialog.FileName + "';ALTER DATABASE [" + dbname + "] SET MULTI_USER ;";
    cmd.Connection = new SqlConnection("Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
    cmd.Connection.Open();
    cmd.CommandText = query;
    cmd.ExecuteNonQuery();
    cmd.Connection.Close();
    MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch
    {
    MessageBox.Show("اشكال در اتصال به بانك اطلاعات", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    }


    من تست کردم عالیه اگه واسه کسی مشکل داشت شک نکنه که مثل من کانکشنش مشکل داره من کانکشن رو تغییر دادم با اجازه دوستمون

  28. #268
    کاربر جدید
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    تهران ...
    پست
    29

    چرا ارورو میده بانک در حال استفادست؟؟؟؟؟

    من برای ری استور کردن کردن بانک کد زیر رو میزنم :اما ارورو میده بانک در حال استفادست ...چیکارش کنم؟؟؟
    Cursor.Current = Cursors.WaitCursor;

    try
    {
    if (File.Exists(@"d:\SQLBackup\svBackUp1.bak"))
    {
    if (MessageBox.Show("در صورت بازیابی تممی اطلاعات پایگاه داده فعلی از بین رفته و اطلاعات فایل پشتیبان جایگزین میگردد آیا مطمئن هستید؟", "بازیابی", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
    {
    //Connect SQL---------------------------------------
    SqlConnection connect;
    string con = @"Data Source=.;Initial Catalog=arayeshgah1;Integrated Security=True";
    connect = new SqlConnection(con);
    connect.Open();


    //Excute SQL----------------
    SqlCommand command;
    command = new SqlCommand("use master", connect);
    command.ExecuteNonQuery();
    command = new SqlCommand(@"restore database arayeshgah1 from disk = 'd:\SQLBackup\svBackUp1.bak'", connect);
    command.ExecuteNonQuery();
    //----------------------------------
    connect.Close();

    MessageBox.Show("بازیابی با موفقیت انجام شد.", "Restore", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    }
    else
    MessageBox.Show(@"Do not make any endorsement above (or is not in the correct path)", "Restoration", MessageBoxButtons.OK, MessageBoxIcon.Information);

    }
    catch (Exception exp)
    {
    MessageBox.Show(exp.Message);
    }

  29. #269
    کاربر دائمی آواتار naser_feb8646
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    زیر سایه امیرالمومنین
    پست
    244

    Backup و Restore کردن دیتابیس

    سلام به همه اساتید
    قبل از پرسیدن سوال ازتون خواهش میکنم نگید جستجو کن مطلب در این مورد زیاده اگر براتون ممکنه یکبار مراحل رو به صورت کامل توضیح بدین
    پیشاپیش ازتون ممنونم

    و حالا سوالم
    من یه برنامه طراحی کردم که دیتابیسش SQL EXPRESS 2008 هستش موقع نصب نرم افزار روی سیستم مشتری اول موتور SQL EXPRESS 2008 نصب میشه بعد نرم افزار
    ConnectionString هم بصورت زیر تعریف شده

      "Data source=.\\SQLEXPRESS;Attachdbfilename=|DataDirecto  ry|\\db\\AAZ.mdf;Integrated security=true;user Instance=true"   

    یعنی به خود فایل mdf اشاره میکنه
    سوال اول : آیا این دیتابیس الان اتچ شده؟
    اگر جواب نه هست باید چیکار کنم تا اتچ بشه
    همون موتور SQL EXPRESS 2008 که روی سیستم مشتری هست برای اتچ شدن کافیه یا باید نسخه کامل SQL رو نصب کنم
    سوال دوم : چطور میتونم توی برنامه یک فرم بزارم که کاربر هم بتونه از دیتابیس Backup بگیره و هم فایل Backup رو Restore کنه

    ازتون خیلی خیلی ممنونم

    وبازهم ملتمسانه ازتون میخوام بطور کامل مراحل رو توضیح بدین تا هم من بتونم متوجه بشم و هم بقیه دوستانی که بلد نیستن بعدها براتون دعا کنن

  30. #270
    کاربر دائمی آواتار saeedgholami
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    فارس
    سن
    12
    پست
    231

    نقل قول: Backup و Restore کردن دیتابیس

    سلام
    بفرما دوست عزیز
    http://uplod.ir/lhqaizj2czbm/5Problem.rar.htm

  31. #271
    کاربر دائمی آواتار saeedgholami
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    فارس
    سن
    12
    پست
    231

    نقل قول: Backup و Restore کردن دیتابیس

    این 5 مسئله توش توضیح داده
    Connection String
    Load Without Attach
    Add Picture to SQL
    Attach & Detach
    BackUp & Restore


    موفق باشید

  32. #272
    کاربر دائمی آواتار naser_feb8646
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    زیر سایه امیرالمومنین
    پست
    244

    نقل قول: Backup و Restore کردن دیتابیس

    سلام دوباره
    دوست عزیز من از کدی که شما داده بودین استفاده کردم
    زمان backup مشکلی نیست ولی موقع restore با پیام زیر مواجه میشم

    Exclusive access could not be obtained because the database is in use.
    RESTORE DATABASE is terminating abnormally.
    Changed database context to 'master'.

  33. #273
    کاربر دائمی آواتار saeedgholami
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    فارس
    سن
    12
    پست
    231

    نقل قول: Backup و Restore کردن دیتابیس

    سلام
    ببین این میتونه کمکت کنه
    http://stackoverflow.com/questions/4...base-is-in-use

  34. #274

    مشکل در بازیابی دیتابیس

    سلام
    من از کد زیر برای بازیابی دیتابیس استفاده میکنم

    SqlCommand scom1 = new SqlCommand();
    SqlConnection.ClearAllPools();
    scom1.Connection = new SqlConnection("Data source=MAHNAZ-PC;Initial Catalog=marketing;Integrated Security=true");
    scom1.Connection.Open();
    string dbname = scom1.Connection.Database;
    scom1.Connection.Close();
    SqlConnection sc = new SqlConnection("Data source=MAHNAZ-PC;Initial Catalog=master;Integrated Security=true");
    SqlCommand scom = new SqlCommand("use master ALTER DATABASE [" + dbname + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE RESTORE DATABASE [" + dbname + "] FROM DISK = '" + recovery_path + "' ALTER DATABASE [" + dbname + "] SET MULTI_USER", sc);
    //SqlCommand scom = new SqlCommand("ALTER DATABASE [" + dbname + "] SET OFFLINE WITH ROLLBACK IMMEDIATE RESTORE DATABASE [" + dbname + "] FROM DISK = '" + recovery_path + "' ALTER DATABASE [" + dbname + "] SET ONLINE", sc);
    sc.Open();
    scom.ExecuteNonQuery();
    sc.Close();
    MessageBox.Show("بازیابی با موفقیت انجام شد ");



    ولی در زمان اجرا یک Exception روی خط

    scom.ExecuteNonQuery();

    نشون میده.
    The tail of the log for the database \"marketing\" 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.\r\nRESTORE DATABASE is terminating abnormally.\r\nChanged database context to 'master'.\r\nNonqualified transactions are being rolled back. Estimated rollback completion: 100%

    لطفا راهنماییم کنید . نمیدونم مشکلش چیه


  35. #275

    نقل قول: مشکل در بازیابی دیتابیس

    داره میگه که پارامتر Recovery and replace رو نزاشتین
    یک سرچ انجام بدید درباره این کد ، نمونه های کاملی گیرتون میاد

  36. #276
    کاربر دائمی آواتار patrick5053
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    در دل #C
    سن
    38
    پست
    214

    بكاپ رو به درستي ميگيرم ولي وقتي ميخوام رستور كنم خطا ميگيره، چرا؟

    سلام دوستان من از برنامم بكاپ ميگيرم ولي وقتي رستور ميكنم خطا ميده ، اينم متن خطا راهنمايي كنيد لطفا

    The tail of the log for the database "m" 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.

    منظور از "m" نام ديتابس هست.

  37. #277
    کاربر دائمی آواتار patrick5053
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    در دل #C
    سن
    38
    پست
    214

    نقل قول: بكاپ رو به درستي ميگيرم ولي وقتي ميخوام رستور كنم خطا ميگيره، چرا؟

    private void Restore(string filename)
    {
    try
    {
    string command = @"ALTER DATABASE DBName ET SINGLE_USER with ROLLBACK IMMEDIATE " + " USE master " + " RESTORE DATABASE DBName FROM DISK= N'" + filename + "'";
    //string command = @"RESTORE DATABASE DBName FROM DISK ='" + filename + "' ";
    this.Cursor = Cursors.WaitCursor;
    SqlCommand ocommand = null;
    SqlConnection oconnection = null;
    oconnection = new SqlConnection("Data Source=(local);Initial Catalog=DBName ;user id=sa");
    if (oconnection.State != ConnectionState.Open)
    oconnection.Open();
    ocommand = new SqlCommand(command, oconnection);
    ocommand.ExecuteNonQuery();
    this.Cursor = Cursors.Default;
    MessageBox.Show("بازیابی اطلاعات از نسخه پشتیبان از با موفقیت انجام شد");
    }
    catch (Exception ex)
    {
    MessageBox.Show("Error : ", ex.Message);
    }
    }




  38. #278
    کاربر دائمی آواتار patrick5053
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    در دل #C
    سن
    38
    پست
    214

    نقل قول: بكاپ رو به درستي ميگيرم ولي وقتي ميخوام رستور كنم خطا ميگيره، چرا؟

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

  39. #279
    کاربر دائمی آواتار patrick5053
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    در دل #C
    سن
    38
    پست
    214

    نقل قول: بكاپ رو به درستي ميگيرم ولي وقتي ميخوام رستور كنم خطا ميگيره، چرا؟

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

  40. #280

    نقل قول: بكاپ رو به درستي ميگيرم ولي وقتي ميخوام رستور كنم خطا ميگيره، چرا؟

    از این استفاده کن:
    ALTER DATABASE DbName SET SINGLE_USER with ROLLBACK IMMEDIATE;
    RESTORE DATABASE DbName FROM DISK= strFileName WITH FILE = 1, NOUNLOAD, STATS = 10 ,replace ;
    ALTER DATABASE DbName SET MULTI_USER with ROLLBACK IMMEDIATE ;

صفحه 7 از 10 اولاول ... 56789 ... آخرآخر

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

  1. Backup And Restore دیتابیس SQLite
    نوشته شده توسط PetekDincos در بخش C#‎‎
    پاسخ: 7
    آخرین پست: یک شنبه 12 مهر 1394, 14:51 عصر
  2. Backup and Restore از داخل برنامه
    نوشته شده توسط s.k711 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 3
    آخرین پست: یک شنبه 21 مهر 1392, 17:15 عصر
  3. backup and restor
    نوشته شده توسط ghulam yahya ayobi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: سه شنبه 01 خرداد 1386, 07:05 صبح
  4. Backup AND Restore
    نوشته شده توسط look in future1 در بخش SQL Server
    پاسخ: 1
    آخرین پست: جمعه 16 بهمن 1383, 21:11 عصر

برچسب های این تاپیک

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

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