How to backup Sql Database Programmatically in C#

后端 未结 10 1876
说谎
说谎 2020-12-23 11:48

I want to write a code to backup my Sql Server 2008 Database using C# in .Net 4 FrameWork. Can anyone help in this.

10条回答
  •  庸人自扰
    2020-12-23 12:17

    It's a good practice to use a config file like this:

    
    
      
        
      
      
        
      
     
    

    Your C# code will be something like this:

    // read connectionstring from config file
    var connectionString = ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString; 
    
    // read backup folder from config file ("C:/temp/")
    var backupFolder = ConfigurationManager.AppSettings["BackupFolder"];
    
    var sqlConStrBuilder = new SqlConnectionStringBuilder(connectionString);
    
    // set backupfilename (you will get something like: "C:/temp/MyDatabase-2013-12-07.bak")
    var backupFileName = String.Format("{0}{1}-{2}.bak", 
        backupFolder, sqlConStrBuilder.InitialCatalog, 
        DateTime.Now.ToString("yyyy-MM-dd"));
    
    using (var connection = new SqlConnection(sqlConStrBuilder.ConnectionString))
    {
        var query = String.Format("BACKUP DATABASE {0} TO DISK='{1}'", 
            sqlConStrBuilder.InitialCatalog, backupFileName);
    
        using (var command = new SqlCommand(query, connection))
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
    }
    

提交回复
热议问题