C# 备份还原SQL Server数据库
来源:互联网 发布:淘宝代购服务点 微信 编辑:程序博客网 时间:2024/06/10 18:16
#region 备份数据信息
/// <summary>
///
/// </summary>
/// <param name="diskStr">备份保存的磁盘</param>
/// <param name="fileStr">文件名称</param>
/// <param name="DataName">数据库名称</param>
public void BackData(string diskStr,string fileStr,string DataName)
{
try
{
if (diskStr.Trim().Length > 0 && fileStr.Trim().Length>0)
{
HisConnectionClass geCon = new HisConnectionClass();
// string strBacl = "backup database " + DataName + " to disk='" + diskStr.Trim() + "//" + fileStr.Trim() + ".bak'";
string strBacl = "backup database " + DataName + " to disk='" + fileStr.Trim() + ".bak'";
// SqlCommand Cmd = new SqlCommand(strBacl, con);
if (geCon.CommonExecuteNonQuery(strBacl) != 0)
{
MessageBox.Show("数据备份成功!", "提示框", MessageBoxButtons.OK, MessageBoxIcon.Information);
geCon.CommonClose();
}
else
{
MessageBox.Show("数据备份失败!", "提示框", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
MessageBox.Show("请填写备份的正确位置及文件名!", "提示框", MessageBoxButtons.OK, MessageBoxIcon.Information);
}// end
}
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
}
#endregion
#region 还原数据库操作
/// <summary>
/// 还原数据库操作
/// </summary>
/// <param name="fileStr">备份文件路径</param>
/// <param name="DataName">需要还原的数据库的名称</param>
public void RevertData(string fileStr,string DataName)
{
if (fileStr.Trim().Length>0)
{
SqlConnection con = new SqlConnection(new HisConnectionClass().GetConnectionSec());
if (con.State == ConnectionState.Closed)
con.Open();
if (con.State == ConnectionState.Open)
{
con.Close();
}
string DateStr = "Data Source=a//a;Database=master;User id=sa;PWD=";
SqlConnection conn = new SqlConnection(DateStr);
conn.Open();
//-------------------杀掉所有连接 db_CSManage 数据库的进程--------------
string strSQL = "select spid from master..sysprocesses where dbid=db_id( '" + DataName + "') ";
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 - 1; iRow++)
{
Cmd.CommandText = "kill " + spidTable.Rows[iRow][0].ToString(); //强行关闭用户进程
Cmd.ExecuteNonQuery();
}
conn.Close();
conn.Dispose();
//--------------------------------------------------------------------
SqlConnection sqlcon = new SqlConnection(DateStr);
sqlcon.Open();
SqlCommand sqlCmd = new SqlCommand("backup log "+DataName+" to disk='" + fileStr.Trim() + "' restore database db_CSManage from disk='" + fileStr.Trim() + "'", sqlcon);
sqlCmd.ExecuteNonQuery();
sqlCmd.Dispose();
sqlcon.Close();
sqlcon.Dispose();
MessageBox.Show("数据还原成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show("为了必免数据丢失,在数据库还原后将关闭整个系统。");
// Application.Exit();
}
else
{
MessageBox.Show("请选择备份文件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
#endregion
- C# 备份还原SQL Server数据库
- Sql Server 备份/还原数据库
- SQL Server数据库备份还原
- sql server 数据库备份还原
- sql server备份、还原数据库
- sql server数据库备份还原
- c# 备份还原sql数据库
- sql server 备份还原数据库 sql
- SQL SERVER 2000 数据库备份与还原
- SQL Server数据库备份与还原处理
- 备份还原数据库完全手册(sql server)
- SQL Server 远程备份还原数据库
- SQL Server数据库备份与还原
- sql server 2005 还原 备份 数据库
- SQL Server 数据库备份与还原语法
- SQL SERVER 2000 数据库备份与还原
- sql server 2005 还原备份数据库
- 【SQL Server备份恢复】数据库还原
- oracle批量绑定 forall bulk collect用法以及测试案例
- 操作系统学习笔记(8) 互斥和同步的实现算法
- VC下的光标移动函数
- CXGrid里面关于内容居中的方法
- 一个迷途的程序员
- C# 备份还原SQL Server数据库
- Loss weight
- 今天去超市
- FFilmation 手册(1)
- 用谷歌拼音输入法
- secureCRT tips
- oracle基础语法(一)
- ActionScript3.0数据绑定
- shutdown和shutdownNow--多线程任务的关闭(转)