远程备份恢复SQL Server数据库///<summary>
远程备份恢复SQL Server数据库      
///备份数据库到本地磁盘
远程备份恢复SQL Server数据库      
///</summary>
远程备份恢复SQL Server数据库    
public bool BackUp(string BackUpFile)
远程备份恢复SQL Server数据库    {
远程备份恢复SQL Server数据库        try
远程备份恢复SQL Server数据库        {
远程备份恢复SQL Server数据库          
//第一步:在服务器上创建临时文件夹
远程备份恢复SQL Server数据库          ExecuteSql(@"master..xp_cmdshell 
'md C:\temp'");
远程备份恢复SQL Server数据库          ExecuteSql(@"master..xp_cmdshell 
'del C:\temp\*.* /q'");
远程备份恢复SQL Server数据库          
//第二步:备份数据库到服务器目录
远程备份恢复SQL Server数据库          ExecuteSql(@"
backup database " + DataBaseName() + @" to disk='C:\temp\HSSY'");
远程备份恢复SQL Server数据库          
//第三步:共享服务器的备份目录
远程备份恢复SQL Server数据库          ExecuteSql(@"master..xp_cmdshell 
'net share SQLDATABACK=C:\temp'");
远程备份恢复SQL Server数据库          
//第四步:复制服务器上的备份文件到本地
远程备份恢复SQL Server数据库          
File.Copy(@"\\" + ServerIP() + @"\SQLDATABACK\HSSY", BackUpFile,true);
远程备份恢复SQL Server数据库          
远程备份恢复SQL Server数据库          
return true;
远程备份恢复SQL Server数据库        }
远程备份恢复SQL Server数据库        catch (System.Data.SqlClient.SqlException E)
远程备份恢复SQL Server数据库        {
远程备份恢复SQL Server数据库          throw new Exception(E.Message);
远程备份恢复SQL Server数据库        }
远程备份恢复SQL Server数据库        finally
远程备份恢复SQL Server数据库        {
远程备份恢复SQL Server数据库          
//第五步:取消服务器共享目录的共享
远程备份恢复SQL Server数据库          ExecuteSql(@"master..xp_cmdshell 
'net share SQLDATABACK /delete'");
远程备份恢复SQL Server数据库        }
远程备份恢复SQL Server数据库    }
远程备份恢复SQL Server数据库
远程备份恢复SQL Server数据库    
/// <summary>
远程备份恢复SQL Server数据库    
/// 从本地磁盘恢复数据库
远程备份恢复SQL Server数据库    
/// </summary>
远程备份恢复SQL Server数据库    
public bool Restore(string RestoreFile)
远程备份恢复SQL Server数据库    {
远程备份恢复SQL Server数据库        try
远程备份恢复SQL Server数据库        {
远程备份恢复SQL Server数据库          
//第零步:关闭用户进程,防止其它用户正在使用数据库,导致数据恢复失败
远程备份恢复SQL Server数据库          KillServerUser();
远程备份恢复SQL Server数据库          
//第一步:在服务器上创建临时文件夹
远程备份恢复SQL Server数据库          ExecuteSql(@"master..xp_cmdshell 
'md C:\temp'");
远程备份恢复SQL Server数据库          ExecuteSql(@"master..xp_cmdshell 
'del C:\temp\*.* /q'");
远程备份恢复SQL Server数据库          
//第二步:共享服务器的恢复目录
远程备份恢复SQL Server数据库          ExecuteSql(@"master..xp_cmdshell 
'net share SQLRESTORE=C:\temp'");
远程备份恢复SQL Server数据库          
//第三步:复制服务器上的备份文件到本地
远程备份恢复SQL Server数据库          
File.Copy(RestoreFile, @"\\" + ServerIP() + @"\SQLRESTORE\HSSY",true);
远程备份恢复SQL Server数据库          
//第四步:取消服务器共享目录的共享
远程备份恢复SQL Server数据库          ExecuteSql(@"master..xp_cmdshell 
'net share SQLDATABACK /delete'");
远程备份恢复SQL Server数据库          
//第五步:恢复数据库到服务器目录
远程备份恢复SQL Server数据库          ExecuteSql(@"
restore database " + DataBaseName()+ @" from disk='C:\temp\HSSY'");
远程备份恢复SQL Server数据库          
return true;
远程备份恢复SQL Server数据库        }
远程备份恢复SQL Server数据库        catch (System.Data.SqlClient.SqlException E)
远程备份恢复SQL Server数据库        {
远程备份恢复SQL Server数据库          throw new Exception(E.Message);
远程备份恢复SQL Server数据库        }
远程备份恢复SQL Server数据库        finally
远程备份恢复SQL Server数据库        {
远程备份恢复SQL Server数据库          
//第六步:取消服务器共享目录的共享
远程备份恢复SQL Server数据库          
//DbHelperSQL.ExecuteSql(@"master..xp_cmdshell 'net share SQLDATABACK /delete'");
远程备份恢复SQL Server数据库        }
远程备份恢复SQL Server数据库    }
远程备份恢复SQL Server数据库
远程备份恢复SQL Server数据库

相关文章: