当前位置:编程学习 > C#/ASP.NET >>

C#做还原数据库时发生如下错误:从服务器接收结果时发生传输级错误。(provider: 共享内存提供程序, error: 1 -执行读\写期间检测到I\O错误

这是做还原数据库代码,不知道怎么解决,麻烦会的帮助一下,谢谢。
try
            {
                if (DataClass.MyMeans.My_con.State == ConnectionState.Open)
                {
                    DataClass.MyMeans.My_con.Close();
                }
                string DateStr = "Data Source=HP-D2BB9C8AE0AF;Database=master;User id=sa;PWD=";
                SqlConnection conn = new SqlConnection(DateStr);
                conn.Open();
                //-------------------杀掉所有连接 金矿监控 数据库的进程--------------
                string strSQL = "select spid from master..sysprocesses where dbid=db_id( '金矿监控') ";
                SqlDataAdapter Da = new SqlDataAdapter(strSQL, conn);
                DataTable spidTable = new DataTable();
                Da.Fill(spidTable);
                SqlCommand Cmd = new SqlCommand();
                Cmd.CommandType = CommandType.Text;
                Cmd.Connection = conn;
                for (int iRow = 0; iRow < spidTable.Rows.Count; iRow++)
                {
                    Cmd.CommandText = "kill " + spidTable.Rows[iRow][0].ToString();   //强行关闭用户进程 
                    Cmd.ExecuteNonQuery();
                }
                conn.Close();
                conn.Dispose();
                SqlConnection Tem_con = new SqlConnection(DataClass.MyMeans.M_str_sqlcon);
                Tem_con.Open();
                SqlCommand SQLcom = new SqlCommand("backup log 金矿监控 to disk='"
                    + textBox3.Text.Trim() + "'use master restore database 金矿监控 from disk='"
                    + textBox3.Text.Trim() + "'", Tem_con);
                SQLcom.ExecuteNonQuery();
                SQLcom.Dispose();
                Tem_con.Close();
                Tem_con.Dispose();
                MessageBox.Show("数据还原成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                MyDataClass.con_open();
                MyDataClass.con_close();
                MessageBox.Show("为了避免数据丢失,在数据库原还后将关闭整个系统。");
                Application.Exit();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        } --------------------编程问答-------------------- 你的这种方法不行的,你Kill掉了数据库服务进程,你还怎么还原和备份数据??? --------------------编程问答--------------------
引用 1 楼 taomanman 的回复:
你的这种方法不行的,你Kill掉了数据库服务进程,你还怎么还原和备份数据???

必须得先kill掉得 --------------------编程问答--------------------
引用 2 楼 guoke37 的回复:
引用 1 楼 taomanman 的回复:
你的这种方法不行的,你Kill掉了数据库服务进程,你还怎么还原和备份数据???

必须得先kill掉得


http://www.cnblogs.com/goody9807/archive/2005/09/06/231057.html
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,