مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

computersaba

عضویت از 1395/04/03

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

  • دوشنبه 22 آذر 1395
  • 21:20
تشکر میکنم

سلام

من 1 دیتا بیس sqlserver دارم که دارای یک لاگین بنام admin با پسوورد 123456admin میباشد

لذا دارای کانکشن استرینگی بصورت زیر میباشد

Data Source=.;Initial Catalog=HoghooghDB;Persist Security Info=True;User ID=admin ;password=123456admin 

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

کد بک آپ :

 try
            {
                SaveFileDialog f = new SaveFileDialog();
                f.InitialDirectory = "D:\\";
                f.Title = "HoghooghDastmozdBackup";
                f.FileName = "HoghooghDastmozdBackup";
                f.FilterIndex = 1;
                f.OverwritePrompt = true;
                f.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
                if (f.ShowDialog() == DialogResult.OK)
                {
                    SqlConnection sqlconn = new SqlConnection(DBsetting.Connstring);
                    SqlCommand sqlcmd = new SqlCommand("BACKUP DATABASE [HoghooghDastmozd] TO  DISK = @n WITH NOFORMAT, NOINIT,  NAME = N'HoghooghDastmozd-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10",sqlconn);
                    sqlcmd.Parameters.AddWithValue("@n", f.FileName);
                    sqlconn.Open();
                    sqlcmd.ExecuteNonQuery();
                    sqlconn.Close();
                    MessageBox.Show("عملیات پشتیبانی موفق بود");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
         
کد بازیابی اطلاعات :
 try
            {
                OpenFileDialog f = new OpenFileDialog();
                f.InitialDirectory = "D:\\";
                f.Title = "HoghooghDastmozdBackup";
                f.FileName = "HoghooghDastmozdBackup";
                f.Filter = @"SQL Backup files (*.BAK) |*.BAK|All files(*.*) |*.*";
                if (f.ShowDialog() == DialogResult.OK)
                {
                    SqlConnection sqlconn = new SqlConnection(DBsetting.Connstring);
                    SqlCommand sqlcmd = new SqlCommand("ALTER DATABASE HoghooghDastmozd  SET SINGLE_USER with ROLLBACK IMMEDIATE " + "use master   " + "RESTORE DATABASE [HoghooghDastmozd] FROM  DISK = @n WITH REPLACE ", sqlconn);
                    sqlcmd.Parameters.AddWithValue("@n", f.FileName);
                    sqlconn.Open();
                    sqlcmd.ExecuteNonQuery();
                    sqlconn.Close();
                    MessageBox.Show("عملیات بازیابی موفق بود");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

جناب اقای مدائنی ممکنه بررسی بفذمایید مشکل کجاست

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 23 آذر 1395
  • 09:56

برای Restor ابتداری دستور باید بنویسید use master

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)