首页 > 开发 > 综合 > 正文

日志恢复数据到时间点(总结)

2024-07-21 02:34:22
字体:
来源:转载
供稿:网友
    工作中的一点小总结希望对大家有点帮助  Powered by jiangchuandong  一、利用sql语句或者存储过程操作  一种处理中用到的备份还原的存储过程     RESTORE DATABASE MyNwind
   FROM MyNwind_1, MyNwind_2
   WITH NORECOVERY
RESTORE LOG MyNwind
   FROM MyNwindLog1
   WITH NORECOVERY
RESTORE LOG MyNwind
   FROM MyNwindLog2
   WITH RECOVERY, STOPAT = 'APR 15, 1998 12:00 AM'--关闭用户进程处理
if   @overexist=1   and   @killuser=1
begin
declare   hCForEach   cursor   for
select   s='kill   '+cast(spid   as   varchar)   from   master..sysprocesses  
where   dbid=db_id(@dbname)
exec   sp_msforeach_worker   '?'
end  优点:查询分析器直接操作数据库恢复数据,有良好的改装和适用性  缺点 :需要多次操作熟悉其过程,比较难达到企业安全统计审计要求  二、使用组件编程来实现  1、使用sqldmo.dll  C#语言书写的用于Microsoft SQL Server数据库备份和恢复的类:using   System;namespace   DbService
{
///  
///   DbOper类,主要实现对Microsoft   SQL   Server数据库的备份和恢复 ,注重使用了数据库时就必须杀死该进程
///  

public   sealed   class   DbOper
{
///  
///   DbOper类的构造函数
///  

private   DbOper()
{
}///  
///   数据库备份
///  

public   static   void   DbBackup()
{
try
{
SQLDMO.Backup   oBackup   =   new   SQLDMO.BackupClass();
SQLDMO.SQLServer   oSQLServer   =   new   SQLDMO.SQLServerClass();
oSQLServer.LoginSecure   =   false;
oSQLServer.Connect("localhost",   "sa",   "1234");
oBackup.Action   =   SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
oBackup.Database   =   "Northwind";
oBackup.Files   =   @"d://Northwind.bak";
oBackup.BackupSetName   =   "Northwind";
oBackup.BackupSetDescription   =   "数据库备份";
oBackup.Initialize   =   true;
oBackup.SQLBackup(oSQLServer);
}
catch
{
throw;
}
}///  
///   数据库恢复
///  

public   static   void   DbRestore()
{
try
{
SQLDMO.Restore   oRestore   =   new   SQLDMO.RestoreClass();
SQLDMO.SQLServer   oSQLServer   =   new   SQLDMO.SQLServerClass();
oSQLServer.LoginSecure   =   false;
oSQLServer.Connect("localhost",   "sa",   "1234");
oRestore.Action   =   SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
oRestore.Database   =   "Northwind";
oRestore.Files   =   @"d://Northwind.bak";
oRestore.FileNumber   =   1;
oRestore.ReplaceDatabase   =   true;
oRestore.SQLRestore(oSQLServer);
}
catch
{
throw;
}
}
}
}  优点:SQLDMO是SQLServer中企业治理器所使用的应用程序接口,所以它可以执行很多功能,有良好的改装和适用性,能制作出界面操作良好程序已供使用 。
  缺点 :SQLDMO已封装,制作程序比较难达到企业安全统计审计要求  2、利用命名空间System.Data; System.Data.SqlClient;进行存储过程编程,来实现数据恢复以前我看过的一个用该命名空间来实现的sqlserver企业治理   优点:有良好的改装和适用性,能制作出界面操作良好程序已供使用,能通过web端口来实现运行存储过程数据恢复备份 。  缺点 :制作程序比较难达到企业安全统计审计要求  3、假如是对Yukon CLR有研究的朋友,可以利用这一新特性考虑对此编程,也不失为一种方式

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表