5

परिदृश्य द्वारा उपयोग में है सकते हैं:त्रुटि: पुन: स्थापित नहीं प्रक्रिया डेटाबेस 'Test_DB' क्योंकि यह इस सत्र

मैं सी # खिड़कियों पर काम कर रहा हूँ एसक्यूएल सर्वर 2008 R2 डेटाबेस server.all चीजों के साथ आवेदन फार्म में अच्छी तरह से, जा रहे हैं यहां तक ​​कि मैं मैं डेटा बेस बैकअप बनाने में सक्षम हूं लेकिन जब मैं इसे प्रो-व्याकरणिक रूप से बहाल करता हूं तो यह मुझे त्रुटि देता है "रीस्टोर डेटाबेस 'टेस्ट_DB' को संसाधित नहीं कर सकता है क्योंकि यह इस सत्र द्वारा उपयोग में है। यह अनुशंसा की जाती है कि इस ऑपरेशन को निष्पादित करते समय मास्टर डेटाबेस का उपयोग किया जाए पुन: स्थापित डेटा असामान्य रूप से समाप्त हो रहा है। " यहाँ बैकअप के लिए मेरे कार्यक्रम और बहाल

  // back up code 

     try 
     { 
      SaveFileDialog sd = new SaveFileDialog(); 
      sd.Filter = "SQL Server database backup files|*.bak"; 
      sd.Title = "Create Database Backup"; 


      if (sd.ShowDialog() == DialogResult.OK) 
      { 
       using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString)) 
       { 

        string sqlStmt = string.Format("backup database Test_DB to disk='{0}'", sd.FileName); 
        using (SqlCommand bu2 = new SqlCommand(sqlStmt, conn)) 
        { 
         conn.Open(); 
         bu2.ExecuteNonQuery(); 
         conn.Close(); 

         DevComponents.DotNetBar.MessageBoxEx.Show("Backup Created Sucessfully"); 
        } 

       } 
      } 
     } 

     catch (Exception) 
     { 
      MessageBox.Show("Backup Not Created"); 
     } 
// Restore backup Code 


     try 
     { 
      OpenFileDialog od = new OpenFileDialog(); 
      od.Filter = "SQL Server database Restore files|*.bak"; 
      od.Title = "Restore Database Backup"; 


      if (od.ShowDialog() == DialogResult.OK) 
      { 
       using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString)) 
       { 
         string sqlStmt = string.Format("Restore database Test_DB from disk='{0}'", od.FileName); 
         using (SqlCommand bu2 = new SqlCommand(sqlStmt, conn)) 
         { 
          conn.Open(); 
          bu2.ExecuteNonQuery(); 
          conn.Close(); 
          DevComponents.DotNetBar.MessageBoxEx.Show("Database Retored Sucessfully", "Success Message!"); 
         } 

       } 
      } 
     } 

     catch (Exception) 
     { 
      MessageBox.Show("Database didn't Restore","Error Message!"); 
     } 

मैं किसी भी शरीर द्वारा प्रदान की किसी भी मदद की सराहना करते है। धन्यवाद।

उत्तर

5

त्रुटि संदेश स्वयं व्याख्यात्मक है। आपको अपनी कनेक्शन स्ट्रिंग को बदलने की जरूरत है ताकि initial catalog=test_db की बजाय यह initial_catalog=master कहता है। या पुनर्स्थापना चलाने से पहले डेटाबेस संदर्भ को मास्टर में बदलें।

2
// Restore backup Code 


     try 
     { 
      OpenFileDialog od = new OpenFileDialog(); 
      od.Filter = "SQL Server database Restore files|*.bak"; 
      od.Title = "Restore Database Backup"; 


      if (od.ShowDialog() == DialogResult.OK) 
      { 
       using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString)) 
       { 
         conn.Open(); 
         string UseMaster = "USE master"; 
         SqlCommand UseMasterCommand = new SqlCommand(UseMaster, conn); 
         UseMasterCommand.ExecuteNonQuery(); 

         string Alter1 = @"ALTER DATABASE [Test_DB] SET Single_User WITH Rollback Immediate"; 
         SqlCommand Alter1Cmd = new SqlCommand(Alter1, conn); 
         Alter1Cmd.ExecuteNonQuery(); 

         string Restore = string.Format("Restore database Test_DB from disk='{0}'", od.FileName); 
         SqlCommand RestoreCmd = new SqlCommand(Restore, conn); 
         RestoreCmd.ExecuteNonQuery(); 

         string Alter2 = @"ALTER DATABASE [Test_DB] SET Multi_User"; 
         SqlCommand Alter2Cmd = new SqlCommand(Alter2, conn); 
         Alter2Cmd.ExecuteNonQuery(); 
         conn.Close(); 
          DevComponents.DotNetBar.MessageBoxEx.Show("Database Retored Sucessfully", "Success Message!"); 

       } 
      } 
     } 

     catch (Exception) 
     { 
      MessageBox.Show("Database didn't Restore", "Error Message!"); 
     } 
संबंधित मुद्दे

 संबंधित मुद्दे