صفحه 8 از 10 اولاول ... 678910 آخرآخر
نمایش نتایج 281 تا 320 از 396

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

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

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

    نقل قول نوشته شده توسط vhdysf مشاهده تاپیک
    از این استفاده کن:
    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 ;
    در اين مورد بيشتر توضيح ميدي دوست عزيز
    منظورم اينه كه اول خط اول و دوم رو اجرا كنم بعد خط سوم يا همه رو در يك دستور اجرا كنم

  2. #282

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


  3. #283
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1391
    محل زندگی
    در حال تحصیل در دانشگاه شهید مدنی آذربایجان می باشم...
    پست
    37

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

    سلام، دوستان

    کسی هست که کمکم بکنه
    نحوه بکاپ گرفتن از sqlexpress رو می خواستم

    هر کدی که می نویسم میگه دیتا بیسی در این شاخه وجود ندارد

    این هم کدش:



    SqlConnection con = new SqlConnection();
    con.ConnectionString = "data source=.\\SQLEXPRESS;attachdbfilename="+Applicatio n.StartupPath+"\\TestDb.mdf;integrated security=true;user instance=true";
    con.Open();
    SqlCommand com=new SqlCommand();
    com.Connection = con;
    com.CommandText = "BACKUP DATABASE [" +Application.StartupPath+"\\TestDb.mdf] to DISK='k:\\aaa.BAk'";
    com.ExecuteNonQuery();
    con.Close();



  4. #284

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


  5. #285

    مشکل در Restore کردن بانک

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


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;

    namespace Library
    {
    public partial class backup : Form
    {

    public backup()
    {
    InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {

    }

    private void backup_Click(object sender, EventArgs e)
    {
    pictureBox1.Visible = true;
    #region Select Name
    string strFileName = string.Empty;
    saveFileDialog1.DefaultExt = "BAK";
    saveFileDialog1.FileName = "BackupFile";
    saveFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files (*.*) |*.*";
    saveFileDialog1.FilterIndex = 1;
    saveFileDialog1.OverwritePrompt = true;
    saveFileDialog1.Title = "Backup SQL File";

    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {

    strFileName = saveFileDialog1.FileName;
    Backup(strFileName);

    }
    #endregion
    }

    private void backup_Load(object sender, EventArgs e)
    {
    pictureBox1.Visible = false;
    }
    private void Backup(string strFileName)
    {

    #region Store File Bak

    SqlCommand oCommand = null;
    SqlConnection oConnection = null;
    try
    {
    string ConectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Library.mdf;Integrated Security=True;User Instance=True";
    string Command = @"backup database [" + Application.StartupPath + "\\Library.mdf] to disk ='" + strFileName + "' with init,stats=10";

    this.Cursor = Cursors.WaitCursor;

    oConnection = new SqlConnection(ConectionString);
    if (oConnection.State != ConnectionState.Open)
    oConnection.Open();

    oCommand = new SqlCommand(Command, oConnection);
    oCommand.ExecuteNonQuery();


    this.Cursor = Cursors.Default;

    pictureBox1.Visible = false;
    MessageBox.Show("تهیه نسخه پشتیبان انجام شد .");

    }
    catch (Exception ex)
    {
    MessageBox.Show("Error :" + ex.Message);
    }
    finally
    {
    oConnection.Close();
    oCommand.Parameters.Clear();
    oCommand.Dispose();
    }
    #endregion
    }

    private void restore_Click(object sender, EventArgs e)
    {
    #region Select File Bak
    string strFileName = string.Empty;

    openFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files (*.*) |*.*";
    openFileDialog1.FilterIndex = 1;
    openFileDialog1.Title = "Restore SQL File";

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    strFileName = openFileDialog1.FileName;
    Restore(strFileName);

    }
    #endregion
    }
    private void Restore(string strFileName)
    {
    #region Restore File Bak

    SqlCommand oCommand = null;
    SqlConnection oConnection = null;

    try
    {
    string ConectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Library.mdf;Integrated Security=True;User Instance=True";
    string Command = "ALTER DATABASE [" + Application.StartupPath + "\\Library.mdf] SET SINGLE_USER with ROLLBACK IMMEDIATE use master RESTORE DATABASE [" + Application.StartupPath + "\\db_market.mdf] FROM DISK='" + strFileName + "'";

    this.Cursor = Cursors.WaitCursor;

    oConnection = new SqlConnection(ConectionString);
    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);
    }
    finally
    {
    oConnection.Close();
    oCommand.Parameters.Clear();
    oCommand.Dispose();
    }
    #endregion
    }
    }
    }



    The file 'C:\Users\Keyvan\Desktop\C-Sharp\Library\Library\bin\Debug\Library.mdf' cannot be overwritten. It is being used by database 'C:\USERS\KEYVAN\DESKTOP\C-SHARP\LIBRARY\LIBRARY\BIN\DEBUG\LIBRARY.MDF'.
    File 'Library' cannot be restored to 'C:\Users\Keyvan\Desktop\C-Sharp\Library\Library\bin\Debug\Library.mdf'. Use WITH MOVE to identify a valid location for the file.
    The file 'C:\Users\Keyvan\Desktop\C-Sharp\Library\Library\bin\Debug\Library_log.ldf' cannot be overwritten. It is being used by database 'C:\USERS\KEYVAN\DESKTOP\C-SHARP\LIBRARY\LIBRARY\BIN\DEBUG\LIBRARY.MDF'.
    File 'Library_log' cannot be restored to 'C:\Users\Keyvan\Desktop\C-Sharp\Library\Library\bin\Debug\Library_log.ldf'. Use WITH MOVE to identify a valid location for the file.
    Problems were identified while planning for the RESTORE statement. Previous messages provide details.
    RESTORE DATABASE is terminating abnormally.
    Nonqualified transactions are being rolled back. Estimated rollback completion: 100%.
    Changed database context to 'master'.

  6. #286
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    تهران
    پست
    54

    نقل قول: مشکل در Restore کردن بانک

    باید دیتابیس را به حالت stop درآورید بعد...

  7. #287

    نقل قول: مشکل در Restore کردن بانک

    نقل قول نوشته شده توسط veniz2008 مشاهده تاپیک
    سلام.
    در تاپیک زیر هم backup و هم Restore رو بصورت کامل توضیح دادم.
    موفق باشید.
    https://barnamenevis.org/showthread.p...ghlight=backup
    مرسی دوست عزیز ولی من مشکلم فقط تویه restore هست.
    موقع backup گرفتن هیچ اروری نمیده

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

    نقل قول: مشکل در Restore کردن بانک

    نقل قول نوشته شده توسط keyvan_s89 مشاهده تاپیک
    مرسی دوست عزیز ولی من مشکلم فقط تویه restore هست.
    موقع backup گرفتن هیچ اروری نمیده
    خوب کد restore اش رو استفاده کنید و اگر دیدید که backup اش هم بدردتون خورد میتونید استفاده کنید. ضمنا" روشی که در اون تاپیک گفتم با استفاده از stored procedure هاست که یکی از بهترین و پر سرعت ترین و امن ترین روش هاست.
    متاسفانه اکثر کدهایی که برای Restore وجود داره دارای اشکال هست و من خودم این کد رو از بین چندین کد انتخاب کردم.(کاملا تست شده است).
    موفق باشید

  9. #289
    کاربر دائمی آواتار R_Rajaee_Rad
    تاریخ عضویت
    تیر 1388
    محل زندگی
    عالم برنامه نویسی
    پست
    536

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

    برای تمامی کسایی که دیتابیسشون رو با SQL EXPRESS اتچ کردن یعنی کانکشن استرینگشون اینجوری هست
    @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector  y|MyDB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"


    بگم اگر خطایی مربوطه به پیدا نکردن دیتابیس یا گیر دادن به کانکشن استرینگ دارید کافیه اسم دیتابیستون ور اخر کانکشن اضافه کنید تا مشکلتون حل بشه.مثل این پایینی(در اینجا MyDB)

    @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector  y|MyDB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;Database=MyDB"

  10. #290

    نقل قول: مشکل در Restore کردن بانک

    نقل قول نوشته شده توسط veniz2008 مشاهده تاپیک
    خوب کد restore اش رو استفاده کنید و اگر دیدید که backup اش هم بدردتون خورد میتونید استفاده کنید. ضمنا" روشی که در اون تاپیک گفتم با استفاده از stored procedure هاست که یکی از بهترین و پر سرعت ترین و امن ترین روش هاست.
    متاسفانه اکثر کدهایی که برای Restore وجود داره دارای اشکال هست و من خودم این کد رو از بین چندین کد انتخاب کردم.(کاملا تست شده است).
    موفق باشید
    کد های restore رو نوشتم ولی برای backup رو قاطی کردم میشه یه بار کد backup رو بزارید ؟

  11. #291

    نقل قول: مشکل در Restore کردن بانک

    بکاپ گیری

    private void button10_Click(object sender, EventArgs e)
    {
    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();
    //progressBar1.PerformStep();
    // progressBar1.Value = 100;
    MessageBox.Show("نسخه پشتيبان به طور كامل ايجاد شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    // progressBar1.Value = 0;
    }
    catch
    {
    MessageBox.Show("اشكال در اتصال به بانك اطلاعات\nلطفا مجدد تلاش كنيد", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    }
    }




    ریستور

    private void button1_Click(object sender, EventArgs e)
    {
    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();
    //progressBar2.PerformStep();
    //progressBar2.Value = 100;
    MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    // progressBar2.Value = 0;
    }
    catch
    {
    MessageBox.Show("اشكال در اتصال به بانك اطلاعات", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
    }
    }

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

    نقل قول: مشکل در Restore کردن بانک

    بخ نظر شما با استفاده از dllهای Smo بیاییم بک آپ و ریستور بگیریم از دیتابیس مشکلی نسبت به روش ساده هستش استفاده از dll های خود vs

  13. #293

    بک آپ گرفتن از دیتابیس sql

    سلام

    می خواستم از دیتابیس sql تویه vs هم backup بگیرم هم restore کنم

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

  14. #294

    نقل قول: بک آپ گرفتن از دیتابیس sql

    سلام

    backup


    string bname = DateTime.Now.ToString("yyyy-MM-dd-HH-mm");
    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=|DataDirector y|\Library.mdf;Integrated Security=True;Connect Timeout=30;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();
    progressBar1.PerformStep();
    progressBar1.Value = 100;
    MessageBox.Show("نسخه پشتيبان به طور كامل ايجاد شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    progressBar1.Value = 0;


    restore



    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=|DataDirector y|\Library.mdf;Integrated Security=True;Connect Timeout=30;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();
    progressBar1.PerformStep();
    progressBar1.Value = 100;
    MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    MessageBox.Show("برنامه باید دوباره راه اندازی شود ", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Information);
    Application.Restart();
    progressBar1.Value = 0;


  15. #295
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: بک آپ گرفتن از دیتابیس sql

    سلام
    از لینک زیر دانلود کن (فایل آموزشی)
    http://alexmcse.blogsky.com/1392/01/13/post-13/
    آخرین ویرایش به وسیله alexmcse : سه شنبه 03 اردیبهشت 1392 در 12:39 عصر

  16. #296

    نقل قول: بک آپ گرفتن از دیتابیس sql

    نقل قول نوشته شده توسط keyvan_s89 مشاهده تاپیک
    سلام

    backup


    string bname = DateTime.Now.ToString("yyyy-MM-dd-HH-mm");
    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=|DataDirector y|\Library.mdf;Integrated Security=True;Connect Timeout=30;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();
    progressBar1.PerformStep();
    progressBar1.Value = 100;
    MessageBox.Show("نسخه پشتيبان به طور كامل ايجاد شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    progressBar1.Value = 0;


    restore



    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=|DataDirector y|\Library.mdf;Integrated Security=True;Connect Timeout=30;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();
    progressBar1.PerformStep();
    progressBar1.Value = 100;
    MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    MessageBox.Show("برنامه باید دوباره راه اندازی شود ", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Information);
    Application.Restart();
    progressBar1.Value = 0;


    دوست عزیز من از راهنماییت ولی پیغام خطا می ده می گه نمی تونه دیتابیس رو پیدا که

  17. #297

    Restore دیتا بیس

    من از کد زیر برای ریستور کردن دیتا بیس استفاده کردم اما نمی دونم بجای use master باید چی نوشت.لطفاً راهنمایی کنید

    ;"'"+"ALTER DATABASE TalayPerans SET SINGLE_USER with ROLLBACK IMMEDIATE" + use master "+ "RESTORE DATABASE TalayPerans FROM DISK='" + strFileName

  18. #298
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

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


  19. #299

    نقل قول: بک آپ گرفتن از دیتابیس sql

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

                SqlConnection con = new SqlConnection(str);
    string name = "PB";
    string cmd = "USE MASTER BACKUP DATABASE '"+name+"' TO DISK='"+textBox1.Text+"'";
    SqlCommand com=new SqlCommand(cmd,con);
    con.Open();
    com.ExecuteNonQuery();
    con.Close();

  20. #300

    كمك درباره restore كردن اطلاعات بانك sql

    سلام
    من يك تابع تعريف كردم برايrestore كردن ولي كار نمي كنه اينم كدش
            private void Restore(string strFileName)
    {
    try
    {
    string command = "ALTER DATABASE bb SET SINGLE_USER with ROLLBACK IMMEDIATE " +
    "use master " +
    " RESTORE DATABASE bb FROM DISK='" + strFileName + "'";
    this.Cursor = Cursors.WaitCursor;
    SqlCommand oCommand = null;
    SqlConnection oConnection = null;
    oConnection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\bb.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
    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 Occurd :" + ex.Message);
    }
    اينم كد رويداد كليد باتومش
     string strFileName=string.Empty;
    openFileDialog1.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files
    (*.*) |*.*";
    openFileDialog1.FilterIndex = 1;
    openFileDialog1.Title = "Restore SQL File";
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    strFileName = saveFileDialog1.FileName;
    Restore(strFileName);

  21. #301

    نقل قول: كمك درباره restore كردن اطلاعات بانك sql

    سلام

    Bckup

    try
    {
    string bname = DateTime.Now.ToString("yyyy-MM-dd-HH-mm");
    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=|DataDirector y|\Library.mdf;Integrated Security=True;Connect Timeout=30;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();
    progressBar1.PerformStep();
    progressBar1.Value = 100;
    MessageBox.Show("نسخه پشتيبان به طور كامل ايجاد شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    progressBar1.Value = 0;


    Restore

    try
    {
    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=|DataDirector y|\Library.mdf;Integrated Security=True;Connect Timeout=30;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();
    progressBar1.PerformStep();
    progressBar1.Value = 100;
    MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    MessageBox.Show("برنامه باید دوباره راه اندازی شود ", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Information);
    Application.Restart();
    progressBar1.Value = 0;

  22. #302

    اشکال در restore کردن بانک اطلاعات

    سلام خسته نباشید من دستور باز گردانی نوشتم که بانک اطلاعات رو به حالت اولش بر گردانی اگر هم وجود داشت برگرداند و جایی گزین بانک قبلی کنه ولی اشکال در ارتباط با دیتابیس میده ممنون میشم کمک کنید تا بدونم اشکال این خطا چی هستش با تشکر.
    این هم کد های نوشته شده من.
    string path;

            private void BtnRestor_Click(object sender, EventArgs e)
    {
    if (txtaddress.Text.Length > 0)
    {
    SqlConnection con = new SqlConnection();
    con.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30";
    SqlCommand cmd = new SqlCommand();
    try
    {
    con.Open();
    string query = "USE master RESTORE DATABASE [DBPoshak] FROM DISK ='" + path + "'";

    cmd.CommandText = query;
    cmd.Connection = con;
    cmd.ExecuteNonQuery();
    con.Close();

    FarsiMessage.ShowMessageBox("بازیابی به درستی انجام شد","بازیابی");
    }
    catch
    {
    FarsiMessage.ShowMessageBox("اشکال در ارتباط با بانک اطلاعات / خطا 105","خطا");
    }
    }
    else
    {
    FarsiMessage.ShowMessageBox("!"+"مسیر انتخاب نشده است","خطا",ShowButton.تائید_تنها,Ms gIcon.Warning);
    }
    }

    این کدای که من نوشتم ممنون میشم دلیل خطا برنامه من رو بگید که خطا اشکال در ارتباط با بانک اطلاعات رو میده.

  23. #303

    نقل قول: كمك درباره restore كردن اطلاعات بانك sql

    سلام اين كد رو تو چه قسمتي بنويسم توي خود تابع ريستور يا تو رخداد كليد با توم

  24. #304

    نقل قول: كمك درباره restore كردن اطلاعات بانك sql

    با سلام وتشكر ديدمش ولي كمكي به من نكرد

  25. #305

    نقل قول: اشکال در restore کردن بانک اطلاعات

    خواهش میکنم یکی کمک کنی من رو خیلی نیاز دارم به این کد.برای بازگردانی اطلاعات

  26. #306

    نقل قول: اشکال در restore کردن بانک اطلاعات

    Restore

    try
    {
    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=|DataDirector y|\Dmb.mdf;Integrated Security=True;Connect Timeout=30;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();
    progressBar1.PerformStep();
    progressBar1.Value = 100;
    MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    MessageBox.Show("برنامه باید دوباره راه اندازی شود ", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Information);
    Application.Restart();
    progressBar1.Value = 0;


    Backup

     try
    {
    string bname = DateTime.Now.ToString("yyyy-MM-dd-HH-mm");
    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=|DataDirector y|\Library.mdf;Integrated Security=True;Connect Timeout=30;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();
    progressBar1.PerformStep();
    progressBar1.Value = 100;
    MessageBox.Show("نسخه پشتيبان به طور كامل ايجاد شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    progressBar1.Value = 0;

  27. #307
    کاربر تازه وارد
    تاریخ عضویت
    اردیبهشت 1390
    پست
    80

    نقل قول: اشکال در restore کردن بانک اطلاعات

    سلام شما وقتی که ری استور میکنید در واقع فایل پشتیبان را با دیتا بیس جابه جا میکنید در حالی که دیتا بیس شما در حال استفاده است پس با اررور روبه رو میشید با این کد که میزارم مشکلتون حل میشه(@Masir) شامل ادرس فایل پشتیبان و اسمش
      ALTER DATABASE [Database Name] SET OFFLINE with ROLLBACK IMMEDIATE RESTORE DATABASE [Database Name]
    FROM DISK= @Masir with replace alter database [Database Name] set online

  28. #308

    نقل قول: اشکال در restore کردن بانک اطلاعات

    سلام برادرا من برای برای Restore کردن دیتابیسم همه کار کردم و برادران کمک کردن من رو ولی تو برگرداندن اطلاعات در سیستم با مشکل بر خورد کردم و توانستم به وسیله کدهای برادران اطلاعات رو به صورت bak.* پشتیبان بگیرم ولی حالا هر کار میکنم نمیشه بریش گردوند میگه سیستم نمی تونه باز گردانی کنه اطلاعات رو این دستور backup گرفتن من هستش که درست کار میکنه در فرم هم هستش
            private void BtnBackup_Click(object sender, EventArgs e)
    {
    //using (var back = new ClsRestorAndBackup())
    //{
    // back.BackUpMyDB();
    //}

    try
    {
    string bname = DateTime.Now.ToString("yyyy-MM-dd-HH-mm");
    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=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30");
    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=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30");
    //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();
    progressBar1.PerformStep();
    progressBar1.Value = 100;
    MessageBox.Show("نسخه پشتيبان به طور كامل ايجاد شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    progressBar1.Value = 0;
    }
    catch (Exception ex)
    {
    // FarsiMessegeBox.Show("خطا در پشتیبان گیری");
    FarsiMessegeBox.Show(ex.Message);
    }
    }
    }
    catch
    {

    }
    }
    و این هم دستور Restore کردن منهستش هی برای باز گردنای اطلاعات ایراد میگیری میخوام موقع برگداندن پسوند bak رو به پسوند خودش MDF برگدونه تا اطلاعات با همون نام و پسوند یاشه و ایراد نگیره ولی هر کاری میکنم ایراد میگیری این هم دستور Restore من در فرم
    private void BtnRestor_Click(object sender, EventArgs e)
    {
    //using (var back = new ClsRestorAndBackup())
    //{
    // back.RestoreMyDB();
    //}



    try
    {
    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)
    {
    //string ourPath = openFileDialog.FileName;
    //string newPath = Path.ChangeExtension(ourPath, "*.mdf");
    //File.Move(ourPath, newPath);
    try
    {
    this.Refresh();
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30");
    cmd.Connection.Open();
    string dbname = cmd.Connection.Database;
    //string newPath = Path.ChangeExtension(dbname, "mdf");
    //File.Move(dbname, newPath);
    string ourPath = openFileDialog.FileName;
    string newPath = Path.ChangeExtension(ourPath, "mdf");
    File.Move(ourPath, newPath);
    cmd.Connection.Close();

    string query = "ALTER DATABASE [DBPoshak.mdf] SET OFFLINE with ROLLBACK IMMEDIATE RESTORE DATABASE [DBPoshak.mdf] FROM DISK= @Masir with replace alter database [DBPoshak.mdf] set online";
    cmd.Connection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30");
    //" Data Source=.\\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
    cmd.Connection.Open();
    cmd.CommandText = query;
    cmd.ExecuteNonQuery();
    cmd.Connection.Close();
    progressBar1.PerformStep();
    progressBar1.Value = 100;
    MessageBox.Show("نسخه پشتيبان به طور كامل بازيابي شد ", "پيام", MessageBoxButtons.OK, MessageBoxIcon.Information);
    MessageBox.Show("برنامه باید دوباره راه اندازی شود ", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Information);
    Application.Restart();
    progressBar1.Value = 0;
    }
    catch (Exception ex)
    {
    // FarsiMessegeBox.Show("خطا در بازگردانی اطلاعات.");
    FarsiMessegeBox.Show(ex.Message);
    }
    }
    }
    catch
    {

    }
    }
    من از دستور دیگه هم استفاده کردم برای پتیبان گیری و بازگردانی در این دستور نه میتونم پشتیبان گیری کنم و نه باز گردانی این دستورات رو در کلاس نوشتم و درفرم با تابعی صداش زدم این دستور ریستور و بکاپ گرفتن من در کلاس
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    using FarsiMsgBox;
    using Microsoft.SqlServer.Management.Smo;
    using Microsoft.SqlServer.Management.Common;
    using FMessegeBox;
    using System.IO;
    using System.Diagnostics;
    namespace Proje_SayeBan_Poshak
    {
    class ClsRestorAndBackup :IDisposable // باید توجه به namespace برنامه شود
    {
    //private string BackupString = @"data source=.;initial catalog=DBPoshak;integrated security=True;multipleactiveresultsets=true";//کانکشن استرین برای دست یابی به اطلاعات اصلی
    //private string RestoreString = "Data Source=.;Initial Catalog=master;Integrated Security=True";//کانکشن استرین برای دست یابی به اطلاعات میستر

    private string BackupString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30";
    //Data Source=ADMIN-PC;Initial Catalog=DBPoshak;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=Fa lse";//Connection String baraye Dastyabi be Data base Asli
    private string RestoreString = @"Data Source=.;Initial Catalog=DBPoshak;Integrated Security=True";//Connection String baraye dastresi be data base Master
    //Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirec tory|\DBPoshak.mdf;Integrated Security=True;Connect Timeout=30";


    public void Dispose()
    {
    GC.SuppressFinalize(this);
    }

    public void RestoreMyDB()
    {
    //FarsiMessage.ShowMessageBox("تمام داده های ذخیره شده در پایگاه داده تغییر میکنند اگه موافق هستید دکمه بله رو انتخاب کنید", "بازگردانی اطلاعات", ShowButton.بله_خیر, MsgIcon.Question_2) == DialogResult.Yes
    if (FarsiMessegeBox.Show("تمام داده های ذخیره شده در پایگاه داده تغییر میکنند اگه موافق هستید دکمه بله رو انتخاب کنید", "بازگردانی اطلاعات", FMessegeBoxButtons.YesNo, FMessegeBoxIcons.Question) == DialogResult.Yes) ;
    {
    SqlConnection.ClearAllPools();
    using (SqlConnection con = new SqlConnection(RestoreString))
    {
    ServerConnection srvconn = new ServerConnection(con);
    Server srvr = new Server(srvconn);

    if (srvr != null)
    {
    try
    {
    Restore rstDatabase = new Restore();
    rstDatabase.Action = RestoreActionType.Database;
    rstDatabase.Database = "DBPoshak";//باید همین نام برای دیتابیس تنظیم شود
    OpenFileDialog opfd = new OpenFileDialog();
    opfd.Filter = "فایل پشتیبانی|*.bak";
    opfd.Title = "بازگردانی اطلاعات";
    if (opfd.ShowDialog() == DialogResult.OK)
    {
    string ourPath = opfd.FileName;
    string newPath = Path.ChangeExtension(ourPath, "*.mdf");
    File.Move(ourPath, newPath);
    BackupDeviceItem bkpDevice = new BackupDeviceItem(opfd.FileName, DeviceType.File);
    rstDatabase.ReplaceDatabase = true;
    rstDatabase.SqlRestore(srvr);
    // FarsiMessage.ShowMessageBox("اطلاعات با موفقعیت بازگردانی شدن", "بازگردانی اطلاعات", ShowButton.تائید_تنها, MsgIcon.Information_1);
    FarsiMessegeBox.Show("اطلاعات با موفقعیت بازگردانی شدن", "بازگردانی اطلاعات", FMessegeBoxButtons.Ok, FMessegeBoxIcons.Information);
    }
    }
    catch (Exception ex)
    {
    // FarsiMessage.ShowMessageBox("خطا در بازگردانی اطلاعات دیتابیس/ خطا 106", "اشکال در ارتباط", ShowButton.تائید_تنها, MsgIcon.Warning);
    FarsiMessegeBox.Show("خطا در بازگردانی اطلاعات دیتابیس / خطا 106", "خطا در بازگردانی", FMessegeBoxButtons.Ok, FMessegeBoxIcons.Error);
    }
    }
    }
    }
    }


    public void BackUpMyDB()
    {
    using (SqlConnection con = new SqlConnection(BackupString))
    {
    ServerConnection srvcon = new ServerConnection(con);
    Server srvr = new Server(srvcon);
    if (srvr != null)
    {
    try
    {
    Backup bkdDatabase = new Backup();
    bkdDatabase.Action = BackupActionType.Database;
    bkdDatabase.Database = "DBPoshak";
    SaveFileDialog sfd = new SaveFileDialog();
    sfd.Filter = "پشتیبانی گرفتن فایل|*.bak";
    sfd.Title = "پشتیبان گیری";
    sfd.FileName = "BackUP_" + (DateTime.Now.ToShortDateString().Replace('/', '.'));
    if (sfd.ShowDialog() == DialogResult.OK)
    {
    BackupDeviceItem bkpDevice = new BackupDeviceItem(sfd.FileName, DeviceType.File);
    bkdDatabase.Devices.Add(bkpDevice);
    bkdDatabase.SqlBackup(srvr);
    FarsiMessegeBox.Show("پشتیبان گیرری با موفقعیت انجام شد", "پشتیبان گیری", FMessegeBoxButtons.Ok, FMessegeBoxIcons.Information);
    }
    }
    catch (Exception ex)
    {
    // FarsiMessegeBox.Show(ex.ToString());
    FarsiMessegeBox.Show("خطا در ایجاد پشتیبان گیری", "خطا", FMessegeBoxButtons.Ok, FMessegeBoxIcons.Error);
    }
    }
    }
    }
    }
    }
    و این هم تابعی که در فرم صداش زدم.
            private void BtnRestor_Click(object sender, EventArgs e)
    {
    //using (var back = new ClsRestorAndBackup())
    //{
    // back.RestoreMyDB();
    //}

    از هر دستوری برای بازیابی و پشتیبان گیری استفاده کردم ولی یه دستور فقط پشتیبان گیری رو جواب داد ولی باز گردانی رو نه که موقع باز گردانی اطلاعات پسوند که موقع پشتیبان گیری bak گذاشتم رو به پسوند MDF تبدیل کنه و ایراد نگیری برای بازگردانی اطلاعات فایل دیتابیس کنار فایل اجرای هستش یعنی exe هر کاری میکنم بر نمیگرونه خواهش میکنم کمک کنید من رو خیلی لازم دارم خطاهای که میده به فارسی این ها میشه
    1- نمی توانه عمل باز گردانی رو انجام بده فایل در حال استفاده شدن هستش 2- این پسوند ناشناخته هستش برای جداول
    این خطا های هستش که میده ممنون میشم کمک کنید خیلی گیر کردم تو کدهای ممنون میشم کمک کنید من رو. با تشکر فراوان.

  29. #309
    کاربر دائمی آواتار merlin425
    تاریخ عضویت
    تیر 1390
    محل زندگی
    رشت
    پست
    141

    Restore کردن db با سی شارپ

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

    try
    {
    string s = @"C:\New\1392-2-13 Time 1-9-48\SabaNet.bak";

    SqlCommand cmd = new SqlCommand();
    cmd.Connection = new SqlConnection("Data Source=victory-pc;Initial Catalog=SabaNet;Integrated Security=True");
    cmd.Connection.Open();
    string dbname = cmd.Connection.Database;
    cmd.Connection.Close();

    //USE [master]; RESTORE DATABASE [" + dbname + "] FROM DISK = N'" + TxtAddress.Text + "' WITH NOUNLOAD, REPLACE, STATS = 10

    string query = "USE [master]; RESTORE DATABASE [" + dbname + "] FROM DISK = N'" + s + "'";
    cmd.Connection = new SqlConnection("Data Source=victory-pc;Initial Catalog=SabaNet;Integrated Security=True");
    cmd.Connection.Open();
    cmd.CommandText = query;
    cmd.ExecuteNonQuery();
    cmd.Connection.Close();
    MessageBox.Show("database restore: ok");
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }

    این ارور

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

  30. #310
    کاربر دائمی آواتار vira1368
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    اهواز
    سن
    35
    پست
    270

    نقل قول: Restore کردن db با سی شارپ

    دوست عزیز توی خوده اررور با زبون ساده گفته که دیتابیستون در حال استفادس و برای رفع این مشکل میتونید از کوئری USE MASTER استفاده کنید تا دیگه دیتابسی که میخواین restore کنید وصل نباشه

  31. #311
    کاربر دائمی آواتار merlin425
    تاریخ عضویت
    تیر 1390
    محل زندگی
    رشت
    پست
    141

    نقل قول: Restore کردن db با سی شارپ

    خوب کد use master رو نوشتم

  32. #312
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    Esfahan
    پست
    110

    نقل قول: خطا زمان گرفتن backup از sql

    نقل قول نوشته شده توسط uniqueboy_ara مشاهده تاپیک
    سعی کنید برای اینکه به این مشکلات بر نخورید از توابع SMO استفاده کنید
    خیلی راحت تر و قشنگ تر میشه هم بکاپ گرفت، هم Restore کرد
    توابع SMO چیه میشه توضیح بدی

  33. #313
    کاربر دائمی آواتار barnamenevisforme
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران،شیراز و میشه گفت تقریبا همه جای ایران
    پست
    683

    نقل قول: اشکال در restore کردن بانک اطلاعات

    سلام
    مشکل شما در connection string هست.(AttachDbFilename)
    در واقع connection string مورد استفاده توسط شما ،میخواد database رو به صورت موقت attach کنه،در صورتی که پشتیبان گیری برای پایگاه داده ای به کار میاد که قبلا attach شده،
    اگر فایل شما به صورت کامل attach نشده باشه و connection string حاوی عبارت AttachDbFilename در بقیه جاهای برنامتون به خوبی جواب میده،به جای پشتیبان گیری از کپی برداری از فایل پایگاه داده بهره ببرید،در غیر این صورت باید connection string تصحیح بشه.

  34. #314
    کاربر دائمی آواتار reza69
    تاریخ عضویت
    آبان 1390
    محل زندگی
    همدان
    پست
    788

    Question restor کردن بک آپ

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

    Cursor.Current = Cursors.WaitCursor;

    Directory.CreateDirectory(@"d:\SQLBackup");

    con.Open();

    SqlCommand command;

    command = new SqlCommand(@"backup database mobile to disk ='d:\\SQLBackup\\dbbackup.bak' with init,stats=10", con);

    command.ExecuteNonQuery();

    con.Close();

    MessageBox.Show("پشتیبان گیری با موفقیت انجام شد", "پشتیبان", MessageBoxButtons.OK, MessageBoxIcon.Information);

  35. #315

    نقل قول: restor کردن بک آپ

    بنده از این کد برای برگرداندن اطلاعات استفاده میکنم.
     string Filename;
    OpenFileDialog openFileDialog1 = new OpenFileDialog();

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    Filename = openFileDialog1.FileName;
    }

    else return;

    try
    {
    File.Copy(Filename, Application.StartupPath + @"\Database.accdb", true);
    MessageBox.Show(".عمل بازیابی اطلاعات با موفقیت انجام شد");
    Close();

    }

    catch (Exception x)
    {
    MessageBox.Show("خطا در بازیابی اطلاعات");
    }

  36. #316
    کاربر دائمی آواتار reza69
    تاریخ عضویت
    آبان 1390
    محل زندگی
    همدان
    پست
    788

    نقل قول: restor کردن بک آپ

    نقل قول نوشته شده توسط csharpdoost مشاهده تاپیک
    بنده از این کد برای برگرداندن اطلاعات استفاده میکنم.
     string Filename;
    OpenFileDialog openFileDialog1 = new OpenFileDialog();

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    Filename = openFileDialog1.FileName;
    }

    else return;

    try
    {
    File.Copy(Filename, Application.StartupPath + @"\Database.accdb", true);
    MessageBox.Show(".عمل بازیابی اطلاعات با موفقیت انجام شد");
    Close();

    }

    catch (Exception x)
    {
    MessageBox.Show("خطا در بازیابی اطلاعات");
    }
    این کد برای اکسز هست برای sql میخوام

  37. #317
    کاربر دائمی آواتار reza69
    تاریخ عضویت
    آبان 1390
    محل زندگی
    همدان
    پست
    788

    Question ارور موقع ری استور کردن بک آپ

    سلام
    من موقع ری استور این ارور رو می گیرم
    The tail of the log for the database "mobile" 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.
    Failed to restart the current database. The current database is switched to master.

    کدم اینه:

    con.Open();
    SqlCommand command;
    command = new SqlCommand(@"ALTER DATABASE mobile SET OFFLINE with ROLLBACK IMMEDIATE restore database mobile from disk ='d:\\SQLBackup\\dbmobilebackup.bak'", con);
    command.ExecuteNonQuery();
    con.Close();
    MessageBox.Show(".بازنشانی با موفقیت انجام شد", "پشتیبان", MessageBoxButtons.OK, MessageBoxIcon.Information);


  38. #318

    نقل قول: restor کردن بک آپ

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

    File.Copy(Filename, Application.StartupPath + @"\dbbackup.bak", true);
    آخرین ویرایش به وسیله csharpdoost : سه شنبه 24 اردیبهشت 1392 در 13:11 عصر

  39. #319
    کاربر دائمی آواتار reza69
    تاریخ عضویت
    آبان 1390
    محل زندگی
    همدان
    پست
    788

    نقل قول: restor کردن بک آپ

    کدی که نوشتم اینجوری شد ولی بدون ارور هیچ عملیاتی انجام نمیده فقط پیامی که تو برنامه گذاشتم رو میده.

    string Filename;
    OpenFileDialog openFileDialog1 = new OpenFileDialog();

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    Filename = openFileDialog1.FileName;
    }

    else return;

    try
    {
    File.Copy(Filename, Application.StartupPath + @"\dbmobilebackup.bak", true);
    MessageBox.Show(".عمل بازیابی اطلاعات با موفقیت انجام شد");
    Close();
    }

    catch (Exception ex)
    {
    MessageBox.Show(ex.ToString(),"خطا در بازیابی اطلاعات");
    }

  40. #320
    کاربر دائمی آواتار reza69
    تاریخ عضویت
    آبان 1390
    محل زندگی
    همدان
    پست
    788

    نقل قول: restor کردن بک آپ

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

    con.Open();
    SqlCommand command;
    command = new SqlCommand(@"ALTER DATABASE mobile SET OFFLINE with ROLLBACK IMMEDIATE restore database mobile from disk ='d:\\SQLBackup\\dbmobilebackup.bak'", con);
    command.ExecuteNonQuery();
    con.Close();
    MessageBox.Show(".بازنشانی با موفقیت انجام شد", "پشتیبان", MessageBoxButtons.OK, MessageBoxIcon.Information);

صفحه 8 از 10 اولاول ... 678910 آخرآخر

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

  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 عصر

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

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

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