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

نام تاپیک: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

  1. #1
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    سلام به تمامي دوستان عزيز و گرامي

    من يه برنامه با سي شارپ نوشتم كه ديتا بيسش sql2005 هست .

    تو سايت هر چقدر جستجو كردم نتونستم كد هاي مربوط به اتچ و بكاپ و ريستور را پيدا كنم

    لطفا كد هاي مربوطه را بنويسيد چون تا به حال بكاپ ورنداشتم

  2. #2
    کاربر دائمی آواتار Unknownlive
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    زیر آسمون شهر
    پست
    478

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    کاربر محترم همین دیروز یکی از کاربر ها در خواست کرد و یکی یک سورس توپ گذاشت حالا اگه اتچ و دی اتچ را می خواهی بگو تا بگم اما ریستور را نمی دونم !!!

  3. #3

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    SqlCommand com = newSqlCommand("backup database ChestRenal to disk= "
    + "'" + textBox1.Text.ToString() + "'" , sc);

  4. #4
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    نقل قول نوشته شده توسط Unknownlive مشاهده تاپیک
    کاربر محترم همین دیروز یکی از کاربر ها در خواست کرد و یکی یک سورس توپ گذاشت حالا اگه اتچ و دی اتچ را می خواهی بگو تا بگم اما ریستور را نمی دونم !!!
    اقا سورس توپ داري بزار من هر چقدر جستجو كردم پيدا نكردم شما بكاپ و اتچ و دي اتچ را بزار . ريستور را پيدا مي كنيم

    بي نهايت سپاس

  5. #5
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    نقل قول نوشته شده توسط mmramezani2101 مشاهده تاپیک
    SqlCommand com = newSqlCommand("backup database ChestRenal to disk= "
    + "'" + textBox1.Text.ToString() + "'" , sc);
    اين textbox و sc كارش چيه براي چيه ؟؟؟؟

    لطفا سورس كامل بزارين

    من يدونه از اينترنت ژيدا كردم خيلي پيچ پيچ نوشته بود.

    مثلا اول كانكنت مي شود و بعد ديتا بيس مورد نظر را سلكت مي كرد و بعد بكاپ و ... اين سورس شما را من چطوري استفاده كنم

    راستي براي ريستور چي ؟ راه حلي نداري

  6. #6

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    این کد رو توی همین سایت پیدا کردم!!
    private void Attach_db(string db_Name, string Path_Mdf, string Path_Ldf)
    {
    try
    {
    SqlConnection con = new SqlConnection("server=.;trusted_connection=yes;");
    SqlCommand cmd = new SqlCommand();
    cmd.CommandText = "sp_attach_db @dbname = N'" + db_name + "', @filename1 = N'" + Path_Mdf + "', @filename2 = N'" + Path_Ldf + "'";
    cmd.CommandType = CommandType.Text;
    con.Open();
    cmd.Connection = con;
    cmd.ExecuteNonQuery();
    con.Close();
    }
    catch (Exception e)
    {
    MessageBox.Show(e);
    }
    }

  7. #7
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    این کد اتچ را تست کردم بسیار عالی بود . خیلی خوب جواب داد

    لطفا در مورد بکاپ و ریستور هم راهنمایی کنید

  8. #8
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    نقل قول نوشته شده توسط debugger مشاهده تاپیک
    این کد اتچ را تست کردم بسیار عالی بود . خیلی خوب جواب داد

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



    string filename;
    private void Backup_Click(object sender, EventArgs e)
    {
    saveFileDialog1.FileName = "DB_Backup" + PersianDate.Now.Year.ToString() + '-' + PersianDate.Now.Month.ToString() + '-' + PersianDate.Now.Day.ToString() + ".bak";
    saveFileDialog1.Filter = "Backup Files (*.bak)|*.bak | All Files (*.*)|*.*";
    this.saveFileDialog1.ShowDialog();

    if ((this.saveFileDialog1.FileName != ""))
    {
    filename = saveFileDialog1.FileName.ToString();
    }
    try
    {
    con.ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=ExamA;Integrated Security=True";
    cmd.Connection = con;
    string t = @"BACKUP DATABASE [ExamA]TO DISK=N'" + filename + "' WITH NOFORMAT,NOINIT,NAME=N'mydb-full Database Backup',SKIP,NOREWIND,NOUNLOAD,STATS=10;";
    cmd.CommandText = t;
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    MessageBox.Show("پشتیبان گیری با موفقیت انجام شد");
    }
    catch
    {
    MessageBox.Show("پشتیبان گیری با موفقیت انجام نشد");
    }
    }


            private void Restore_Click(object sender, EventArgs e)
    {
    this.openFileDialog1.ShowDialog();
    if ((this.openFileDialog1.FileName != "") && (this.openFileDialog1.FileName != "openFileDialog1"))
    {
    try
    {
    filename = openFileDialog1.FileName;
    con.ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=ExamA;Integrated Security=True";
    cmd.Connection = con;
    con.Open();
    cmd.CommandText = "ALTER DATABASE ExamA SET SINGLE_USER WITH ROLLBACK IMMEDIATE" + " USE master; RESTORE DATABASE ExamA FROM DISK =N'" + filename + "'";
    cmd.Connection = con;
    cmd.ExecuteNonQuery();
    con.Close();
    MessageBox.Show("بازیابی با موفقیت انجام شد");
    }
    catch
    {
    MessageBox.Show("بازیابی با موفقیت انجام نشد");
    }
    }
    }

  9. #9
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    نقل قول نوشته شده توسط Reza_Yarahmadi مشاهده تاپیک
    این کد رو توی همین سایت پیدا کردم!!
    private void Attach_db(string db_Name, string Path_Mdf, string Path_Ldf)
    {
    try
    {
    SqlConnection con = new SqlConnection("server=.;trusted_connection=yes;");
    SqlCommand cmd = new SqlCommand();
    cmd.CommandText = "sp_attach_db @dbname = N'" + db_name + "', @filename1 = N'" + Path_Mdf + "', @filename2 = N'" + Path_Ldf + "'";
    cmd.CommandType = CommandType.Text;
    con.Open();
    cmd.Connection = con;
    cmd.ExecuteNonQuery();
    con.Close();
    }
    catch (Exception e)
    {
    MessageBox.Show(e);
    }
    }
    من توی Attach کردن مشکل داشتم .

    شاید این کد بتونه کمک کنه .

    مسیر فایلهای mdf و ldf را چه طور باید قرار بدیم ؟؟

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

    ممنون

  10. #10

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    مسیر فایلهای mdf و ldf را چه طور باید قرار بدیم ؟؟

    همون مسیری که توی برنامه خودت توی کد گذاشتی را می تونی بزاری اینجا .
    معمولا روال هم بر این قراره که فایلهای بانک رو توی یه پوشه مشترک با فایلهای برنامه میریزن بعد توی لود برنامه دستورات اتچ رو مینویسن(اگر قبلا اتچ نشده باشه!) برای دسترسی به پوشه برنامه هم میتونی از کد زیر استفاده کنی

    System.IO.Path.GetDirectoryName(Application.Execut ablePath)

  11. #11
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

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

    Cannot open database "kdb" requested by the login. The login failed.
    Login failed for user 'PROGRAMMER\yashar'
    .
    كد هاي بكاپ

    privatevoid button20_Click(object sender, EventArgs e)
    {
    string strFileName = string.Empty;
    saveFileDialog1.DefaultExt =
    "BAK";
    saveFileDialog1.FileName =
    "BackFile";
    saveFileDialog1.Filter =
    "Create BackUp (*.bak)|*.bak|All file(*.*)|*.*";
    saveFileDialog1.FilterIndex = 1;
    saveFileDialog1.OverwritePrompt =
    true;
    saveFileDialog1.Title =
    "Backup SQL File";
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
    strFileName = saveFileDialog1.FileName;
    back(strFileName);
    }
    }



    privatevoid back(string strFileName)
    {
    try

    {
    string command = @"BACKUP DATABASE kdb TO DISK='" + strFileName + "'";
    this.Cursor = Cursors.WaitCursor;
    SqlCommand oCommand = null;
    SqlConnection oConnection = null;
    oConnection =
    newSqlConnection("Data Source=.; initial catalog=kdb ;integrated security=true;");
    if (oConnection.State != ConnectionState.Open)
    oConnection.Open();
    oCommand =
    newSqlCommand(command, oConnection);
    oCommand.ExecuteNonQuery();
    this.Cursor = Cursors.Default;
    MessageBox.Show("پ¬¢ï ںëï ں êيهçï¢ ںë¤ںê ¬§");
    }
    catch (Exception ex)
    {
    //MessageBox.Show("ERROR Occurd: " + ex.Message);

    textBox26.Text = ex.Message.ToString();
    }
    }

    ك هاي restore هم به اين شكل هست

    privatevoid button23_Click(object sender, EventArgs e)
    {

    string strFileName = string.Empty;
    openFileDialog1.FileName =
    " ";
    openFileDialog1.Filter =
    "Restore BackUp (*.bak)|*.bak|All file(*.*)|*.*";
    openFileDialog1.FilterIndex = 1;
    openFileDialog1.Title =
    "Restor SQL File";
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    strFileName = saveFileDialog1.FileName;
    rest(strFileName);
    }
    }



    privatevoid rest(string strFileName)
    {
    try

    {
    string command = "ALTER DATABASE kdb SET SINGLE_USER with ROLLBACK IMMEDIATE " +
    "use master " +
    " RESTORE DATABASE kdb FROM DISK='" + strFileName + "'";
    this.Cursor = Cursors.WaitCursor;
    SqlCommand oCommand = null;
    SqlConnection oConnection = null;
    oConnection =
    newSqlConnection("Data Source=.; initial catalog=kdb ;integrated security=true;");
    if (oConnection.State != ConnectionState.Open)
    oConnection.Open();
    oCommand =
    newSqlCommand(command, oConnection);
    oCommand.ExecuteNonQuery();
    this.Cursor = Cursors.Default;
    MessageBox.Show("پ¬¢ï ںë ں êيهçï¢ ںھ詧ںë§ى ¬§");
    }
    catch (Exception ex)
    {
    MessageBox.Show("ERROR Occurd: " + ex.Message);
    }
    }
    ارور بالا هم ميگه با يوزر programmer نمي تونم لاگين بشم . كه حرف چرتي زده

    و يوزر و پس ميخواد كه چون لاين به صورت Windows Authentication هست اين ارور بي معني هست

  12. #12

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    نقل قول نوشته شده توسط debugger مشاهده تاپیک
    اين textbox و sc كارش چيه براي چيه ؟؟؟؟

    لطفا سورس كامل بزارين

    من يدونه از اينترنت ژيدا كردم خيلي پيچ پيچ نوشته بود.

    مثلا اول كانكنت مي شود و بعد ديتا بيس مورد نظر را سلكت مي كرد و بعد بكاپ و ... اين سورس شما را من چطوري استفاده كنم

    راستي براي ريستور چي ؟ راه حلي نداري
    SqlConnection sc = new SqlConnection("Data Source=sama;Initial Catalog=ChestRenal;Integrated Security=True");
    sc.Open();
    SqlCommand com = newSqlCommand("backup database ChestRenal to disk= "
    + "'" + textBox1.Text.ToString() + "'" , sc);
    com.ExecuteNonQuery();
    sc.Close();
    MessageBox.Show("نسخه پشتيبان تهيه شد.");

  13. #13
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    نقل قول نوشته شده توسط debugger مشاهده تاپیک
    من براي بكاپ از كد زير استفاده مي كنم . كه در اولين اجرا بكاپ ور داشت . ولي ديگه ور نمي داره و اين ارور را ميده

    Cannot open database "kdb" requested by the login. The login failed.
    Login failed for user 'PROGRAMMER\yashar'.

    كد هاي بكاپ


    privatevoid button20_Click(object sender, EventArgs e)
    {
    string strFileName = string.Empty;
    saveFileDialog1.DefaultExt = "BAK";
    saveFileDialog1.FileName = "BackFile";
    saveFileDialog1.Filter = "Create BackUp (*.bak)|*.bak|All file(*.*)|*.*";
    saveFileDialog1.FilterIndex = 1;
    saveFileDialog1.OverwritePrompt = true;
    saveFileDialog1.Title = "Backup SQL File";
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
    strFileName = saveFileDialog1.FileName;
    back(strFileName);
    }
    }



    privatevoid back(string strFileName)
    {
    try
    {
    string command = @"BACKUP DATABASE kdb TO DISK='" + strFileName + "'";
    this.Cursor = Cursors.WaitCursor;
    SqlCommand oCommand = null;
    SqlConnection oConnection = null;
    oConnection = newSqlConnection("Data Source=.; initial catalog=kdb ;integrated security=true;");
    if (oConnection.State != ConnectionState.Open)
    oConnection.Open();
    oCommand = newSqlCommand(command, oConnection);
    oCommand.ExecuteNonQuery();
    this.Cursor = Cursors.Default;
    MessageBox.Show("پ¬¢ï ںëï ں êيهçï¢ ںë¤ںê ¬§");
    }
    catch (Exception ex)
    {
    //MessageBox.Show("ERROR Occurd: " + ex.Message);
    textBox26.Text = ex.Message.ToString();
    }
    }


    ك هاي restore هم به اين شكل هست


    privatevoid button23_Click(object sender, EventArgs e)
    {

    string strFileName = string.Empty;
    openFileDialog1.FileName = " ";
    openFileDialog1.Filter = "Restore BackUp (*.bak)|*.bak|All file(*.*)|*.*";
    openFileDialog1.FilterIndex = 1;
    openFileDialog1.Title = "Restor SQL File";
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    strFileName = saveFileDialog1.FileName;
    rest(strFileName);
    }
    }



    privatevoid rest(string strFileName)
    {
    try
    {
    string command = "ALTER DATABASE kdb SET SINGLE_USER with ROLLBACK IMMEDIATE " +
    "use master " +
    " RESTORE DATABASE kdb FROM DISK='" + strFileName + "'";
    this.Cursor = Cursors.WaitCursor;
    SqlCommand oCommand = null;
    SqlConnection oConnection = null;
    oConnection = newSqlConnection("Data Source=.; initial catalog=kdb ;integrated security=true;");
    if (oConnection.State != ConnectionState.Open)
    oConnection.Open();
    oCommand = newSqlCommand(command, oConnection);
    oCommand.ExecuteNonQuery();
    this.Cursor = Cursors.Default;
    MessageBox.Show("پ¬¢ï ںë ں êيهçï¢ ںھ詧ںë§ى ¬§");
    }
    catch (Exception ex)
    {
    MessageBox.Show("ERROR Occurd: " + ex.Message);
    }
    }

    ارور بالا هم ميگه با يوزر programmer نمي تونم لاگين بشم . كه حرف چرتي زده


    و يوزر و پس ميخواد كه چون لاين به صورت Windows Authentication هست اين ارور بي معني هست

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

    مشکل از اینجاست که این دستورات اون دیتابیس را به Single User تغییر میدن .

    اگه sql sarver را باز کنید و توی دیتابیس ها به دیتابیس kdb نگاه کنید می بینید که اونا تغییر داده به Single User . و به شما اجازه وارد شدن به اون را نمیده .

    به خاطر همین برنامه قادر نیست توی این دیتابیس چیزی بنویسه یا چیزی ازش بخونه .

    دلیل این مشکل چیه ؟

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

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    فکر کنم مشکل حل شد .

    شما هم امتحان کن ببین حل شده .

    فقط کافیه بعد از oCommand.ExecuteNonQuery(); کانکشن را ببندید .

    oConnection.Close();


  15. #15
    کاربر دائمی
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    esfahan
    پست
    183

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    یکی از دوستان لطف کنه یه کد درست بذاره ممنون میشم ، هیچ کدوم برای backup جواب نمیدن ...

  16. #16
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    مشكل اتچ به كل رفع شد

    مشكل بكاپ را هم حل كردم

    فقط مونده ريستور :

    كد هاي بكاپ را اگر به اين شكل بنويسيد هميشه جواب ميده

            private void button20_Click(object sender, EventArgs e)
    {
    SaveFileDialog saveFileDialog = new SaveFileDialog();
    saveFileDialog.AddExtension = true;
    saveFileDialog.CheckFileExists = false;
    saveFileDialog.CheckPathExists = true;
    saveFileDialog.OverwritePrompt = true;
    saveFileDialog.FileName = "Backup";
    saveFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
    saveFileDialog.DefaultExt = "Bak";
    saveFileDialog.RestoreDirectory = true;
    saveFileDialog.InitialDirectory = "C:\\";
    if (saveFileDialog.ShowDialog() == DialogResult.OK)
    {
    System.Data.SqlClient.SqlConnection sqlConnection = new System.Data.SqlClient.SqlConnection();
    sqlConnection.ConnectionString = "server=(local);database=kdb;integrated security=true;";
    sqlConnection.Open();
    System.Data.SqlClient.SqlCommand sqlCommand = new System.Data.SqlClient.SqlCommand();
    sqlCommand.Connection = sqlConnection;
    sqlCommand.CommandText = "BACKUP DATABASE kdb TO DISK = @Destination";
    sqlCommand.Parameters.Add("@Destination", SqlDbType.VarChar);
    sqlCommand.Parameters["@Destination"].Value = saveFileDialog.FileName;
    sqlCommand.ExecuteNonQuery();
    sqlConnection.Close();
    }
    }
    با اين كد ها موفق به گرفتن بكاپ شدم . هميشه هم جواب ميده

    ولي ريستور هنوز مشكل هست ( يه كد هايي پيدا كردم كه با يه متد ديگه اي به غير كد هايي كه تا حالا نوشته شده ، دارم تغييراتي روش اعمال مي كنم كه بشه تو پرو‍‍ژه ها ازش استفاده كرد . اگر جواب گرفتم كد ها را همينجا ميزارم ) دوستان اي كه تجربه ريستور را دارن لطفا كمك كنيد

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

  17. #17
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    دوستان اين كد هاي ريستور هست كه من از يه سورس اي تو اينترنت پيدا كردم . نمي دونم چرا داخل سورس اي كه از اينترنت دانلود كردم جواب ميده اما در پرو‍ژه من جواب نميده

    شما هم تست كنيد نتيجه را بگين


    using System.Data.Sql;
    using System.Data.SqlClient;
    using Microsoft.SqlServer.Management.Smo;
    using Microsoft.SqlServer.Management.Common;

    //add this References :
    //Microsoft.SqlServer.ConnectionInfo
    //Microsoft.SqlServer.Smo

    private void button23_Click(object sender, EventArgs e)
    {
    ServerConnection srvConn = new ServerConnection("(local)");
    srvConn.LoginSecure = true;
    srvSql = new Server(srvConn);
    // If there was a SQL connection created
    if (srvSql != null)
    {

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
    openFileDialog1.Filter = "Backup File (*.Bak)|*.Bak";
    openFileDialog1.DefaultExt = "Bak";

    Restore rstDatabase = new Restore();
    rstDatabase.Action = RestoreActionType.Database;
    rstDatabase.Database = "kdb";
    BackupDeviceItem bkpDevice = new BackupDeviceItem(openFileDialog1.FileName, DeviceType.File);
    rstDatabase.Devices.Add(bkpDevice);
    rstDatabase.ReplaceDatabase = true;
    rstDatabase.SqlRestore(srvSql);
    MessageBox.Show("Restore Success");
    }
    }
    else
    {

    MessageBox.Show("A connection to a SQL server was not established.", "Not Connected to Server", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
    }
    }

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

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    نقل قول نوشته شده توسط debugger مشاهده تاپیک
    مشكل اتچ به كل رفع شد

    مشكل بكاپ را هم حل كردم

    فقط مونده ريستور :

    كد هاي بكاپ را اگر به اين شكل بنويسيد هميشه جواب ميده


            private void button20_Click(object sender, EventArgs e)



    {
    SaveFileDialog saveFileDialog = new SaveFileDialog();
    saveFileDialog.AddExtension = true;
    saveFileDialog.CheckFileExists = false;
    saveFileDialog.CheckPathExists = true;
    saveFileDialog.OverwritePrompt = true;
    saveFileDialog.FileName = "Backup";
    saveFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
    saveFileDialog.DefaultExt = "Bak";
    saveFileDialog.RestoreDirectory = true;
    saveFileDialog.InitialDirectory = "C:\\";
    if (saveFileDialog.ShowDialog() == DialogResult.OK)
    {
    System.Data.SqlClient.SqlConnection sqlConnection = new System.Data.SqlClient.SqlConnection();
    sqlConnection.ConnectionString = "server=(local);database=kdb;integrated security=true;";
    sqlConnection.Open();
    System.Data.SqlClient.SqlCommand sqlCommand = new System.Data.SqlClient.SqlCommand();
    sqlCommand.Connection = sqlConnection;
    sqlCommand.CommandText = "BACKUP DATABASE kdb TO DISK = @Destination";
    sqlCommand.Parameters.Add("@Destination", SqlDbType.VarChar);
    sqlCommand.Parameters["@Destination"].Value = saveFileDialog.FileName;
    sqlCommand.ExecuteNonQuery();
    sqlConnection.Close();
    }
    }


    با اين كد ها موفق به گرفتن بكاپ شدم . هميشه هم جواب ميده

    ولي ريستور هنوز مشكل هست ( يه كد هايي پيدا كردم كه با يه متد ديگه اي به غير كد هايي كه تا حالا نوشته شده ، دارم تغييراتي روش اعمال مي كنم كه بشه تو پرو‍‍ژه ها ازش استفاده كرد . اگر جواب گرفتم كد ها را همينجا ميزارم ) دوستان اي كه تجربه ريستور را دارن لطفا كمك كنيد


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



    با سلام:
    من کد را امتحان کردم error می ده
    Incotect syntax near the database name
    با تشکر و احترام فراوان

  19. #19
    کاربر دائمی
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    پست
    152

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    کد BACKUP که گذاشتید برای sQL 2000 هم میشه استفاده کنم؟

  20. #20

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    دوستان اين كد هاي ريستور هست كه من از يه سورس اي تو اينترنت پيدا كردم . نمي دونم چرا داخل سورس اي كه از اينترنت دانلود كردم جواب ميده اما در پرو‍ژه من جواب نميده

    شما هم تست كنيد نتيجه را بگين
    به Reference های برنامه ای که گرفتی یه نگاه بنداز ببین چه Reference هایی رو اضافه کرده که شما ندارید.

  21. #21
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    نقل قول نوشته شده توسط iranigirl1364 مشاهده تاپیک
    با سلام:
    من کد را امتحان کردم error می ده
    Incotect syntax near the database name
    با تشکر و احترام فراوان
    [/right]
    هر كجا kdb ديدي بجاش اسم ديتا بيس خودت را بزار مشكل حل ميشه

    مشكل syntax هست يعني يه چيزي را اشتباه نوشتي

    اين كد براي 2000 هم قابل استفاده هست

  22. #22
    کاربر دائمی آواتار debugger
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    Turkey
    پست
    843

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    نقل قول نوشته شده توسط Reza_Yarahmadi مشاهده تاپیک
    به Reference های برنامه ای که گرفتی یه نگاه بنداز ببین چه Reference هایی رو اضافه کرده که شما ندارید.
    در بالاي كد ها نوشتم چه رفرنس هايي را اضافه كرده

    شما اين كد هاي ريستور را امتحان كردين ؟؟؟

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

  23. #23

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

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

    شما اين كد هاي ريستور را امتحان كردين ؟؟؟
    شما فقط فضای نامهای (using) استفاده شده رو نوشتید. منظور من این بود که توی پنجراه Solution گزینه References رو باز کنید ببینید چه گزینه هایی هست که توی پروژه خودتون نیست.

  24. #24
    کاربر دائمی
    تاریخ عضویت
    آبان 1386
    محل زندگی
    قم
    پست
    657

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    برای استفاده از Smo باید رفرنس های microsoft.sqlsarver.smo وmicrosoft.sqlsarver.connectioninfo را به پروژه اضافه کنی .

  25. #25
    کاربر تازه وارد
    تاریخ عضویت
    تیر 1388
    محل زندگی
    اصفهان
    سن
    32
    پست
    43

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    سلام دوستان. . .
    من از توی همین سایت کد backup و restor را برداشتم کد Bachup کار کرد ولی کد restor کار نکرد .
    نام DB من dbhakimshafae است من از کد زیر برای restor استفاده می کنم.
    راستی وقتی که از توی خود نرم افزار sql من restor میکنم فایل backup را restor می کنه ولی کد زیر به من جواب نمیده. . . اگه میشه بگین اشکال کار چیه ؟؟؟
    ممنون . .
      this.openFileDialog1.ShowDialog();
    if ((this.openFileDialog1.FileName != "") && (this.openFileDialog1.FileName != "openFileDialog1"))
    {
    try
    {

    SqlCommand cmd1 = new SqlCommand();
    filename = openFileDialog1.FileName;
    con.ConnectionString = "Data Source=(local);Initial Catalog=dbhakimshafae;Integrated Security=True";
    cmd1.Connection = con;
    con.Open();
    cmd1.CommandText = "ALTER DATABASE dbhakimshafae SET SINGLE_USER WITH ROLLBACK IMMEDIATE" + " USE master; RESTORE DATABASE dbhakimshafae FROM DISK =N'" + filename + "'";
    cmd1.Connection = con;
    cmd1.ExecuteNonQuery();
    con.Close();
    MessageBox.Show("بازيابي با موفقيت انجام شد");
    }
    catch
    {
    MessageBox.Show("بازيابي با موفقيت انجام نشد");

    }
    }

  26. #26
    کاربر دائمی آواتار HAMRAHSOFT.IR
    تاریخ عضویت
    مرداد 1385
    محل زندگی
    هرجا كه غم و ناراحتي باشه
    پست
    1,175

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    دوستان ميشه يك نمونه كامل بزاريد تحت #C

  27. #27

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    از همه شما دوستان ممنونم که برای اتچ کردن و بکآپ گرفتن کمک کردید اما همچنان مشکل restore حل نشده لطفا این مورد رو هم کمک کنید.

  28. #28

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    salam manam alan test kardam va ghablan ham test kardeh bodam ama ba error(Restore failed for Server 'GDSCS-PC'.) movajeh misham kasi javabesho midoneh

  29. #29

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    baraye back up in javab mideh
    man hamisheh azash estefadeh mikonam ama restor moshkel darem

    private void back(string strFileName)
    {
    try
    {
    string command = "BACKUP DATABASE DB_Gold TO DISK = N'" + strFileName + "' WITH NOFORMAT, NOINIT, NAME = N'accounting-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
    this.Cursor = Cursors.WaitCursor;
    SqlCommand oCommand = null;
    SqlConnection oConnection = null;

    string scnn = Mahdi_Conection.Sql.ConectionString;
    //"Data Source=.;Initial Catalog=DB_World_Water_Settle;Integrated Security=True";
    oConnection = new SqlConnection(scnn);
    if (oConnection.State != ConnectionState.Open)
    oConnection.Open();
    oCommand = new SqlCommand(command, oConnection);
    oCommand.ExecuteNonQuery();
    this.Cursor = Cursors.Default;
    oConnection.Close();
    MessageBox.Show("تهيه نسخه پشتيبان از اطلاعات با موفقيت انجام شد", "پشتیبانی");
    Mahdi_Conection.Sql.Disconection();
    }
    catch (System.Data.SqlClient.SqlException ex)
    {
    MessageBox.Show(ex.Message);
    }
    finally
    {
    Mahdi_Conection.Sql.Disconection();
    }
    }
    private void btnBackup_Click(object sender, EventArgs e)
    {
    string strFileName = string.Empty;
    saveFileDialog1.DefaultExt = "BAK";
    saveFileDialog1.FileName = "BackFile";
    saveFileDialog1.Filter = "Create BackUp (*.bak)|*.bak|All file(*.*)|*.*";
    saveFileDialog1.FilterIndex = 1;
    saveFileDialog1.OverwritePrompt = true;
    saveFileDialog1.Title = "Backup SQL File";
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
    strFileName = saveFileDialog1.FileName;
    back(strFileName);
    }
    }

  30. #30

    نقل قول: كد هاي بكاپ گيري و ريستور و اتچ ديتا بيس sql2005 توسط سي شارپ

    dostan bara restor kasi code soragh ndareh!!!!!!!!!!!!!!!!!!!
    mamnon misham age rahnamei konid

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

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