c#备份还原MSSQL数据库

public void backup()
        {
            SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=1q2w3e4r");
            SqlCommand cmd = new SqlCommand();
            cmd.CommandType = CommandType.Text;
            cmd.Connection = conn;
            cmd.CommandText = @"backup database testBackUp to disk='D:backupdb' with init ";

            try
            {
                conn.Open();
                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {

                //throw;
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }
        }

        public void restore()
        {
            SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=1q2w3e4r;Trusted_Connection=False");
            conn.Open();
            SqlCommand cmd = new SqlCommand("SELECT spid FROM sysprocesses ,sysdatabases WHERE sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='testBackUp'", conn);

            SqlDataReader dr = cmd.ExecuteReader();
            ArrayList list = new ArrayList();
            while (dr.Read())
            {
                list.Add(dr.GetInt16(0));
            }
            dr.Close();
            for (int i = 0; i < list.Count; i++)
            {
                cmd = new SqlCommand(string.Format("KILL {0}", list[i]), conn);
                cmd.ExecuteNonQuery();
            }

            SqlCommand c = new SqlCommand();
            c.CommandType = CommandType.Text;
            c.Connection = conn;
            //with REPLACE very important
            c.CommandText = @"restore database testBackUp  from disk='D:backupdb' with REPLACE";

            try
            {
                c.ExecuteNonQuery();
            }
            catch (Exception e)
            {

                //throw;
            }
            finally
            {
                conn.Close();
            }
        }

 

posted @ 2016-06-16 15:50  nbu_djw  阅读(444)  评论(0编辑  收藏  举报