SMO学习笔记(二)——还原(恢复)篇之完整恢复

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
日志服务 SLS,月写入数据量 50GB 1个月
简介:

SQLSERVER2005恢复介绍:

三种恢复模式
(一).简单恢复模式
        事务日志被自动截断,不能使用日志文件进行恢复。
(二).完整恢复模式
        保留所有操作的完整事务日志
(三).大容量日志恢复模式
        简要记录大容量操作(索引创建和大容量加载)的日志完整记录其它事务的日

 

 

 

——摘自SQL SERVER 2005 数据备份与恢复 Microsoft TechNet

 


SQL Server Management Studio演示完整备份:
1.登录的步骤就省略了,选择任务:

 

2.这里指定数据库名,然后选择源设备
 

 

3.选择源设备后面的按钮,出现如下对话框
 

4.选择备份文件
 

 

5.选择完毕之后出现如下界面,选中复选框,这里可能出来多条,可以根据备份的时候不同还原不同时的备份。
 

 

6.这一步得注意了,如果数据库存在的话,需要勾上这个选项
 

7.确定,还原成功
 

 

SMO完整恢复:
 
  ///   <summary>
        
///  恢复该数据库
        
///   </summary>
        
///   <param name="Connection"></param>
         public   static   void  DatabaseRestores(string  SqlSqlConnectionString)
        {
            
using  (SqlConnection Connection  =   new  SqlConnection(SqlSqlConnectionString))
                {
                Connection.Open();
                Server server 
=   new  Server( new  ServerConnection(Connection));

                Database currentDb 
=  server.Databases[SmoParm.DataBaseName];
                
                
// 看是否数据库已经存在
                 if  (currentDb  !=   null )
                {
                    Connection.ChangeDatabase(
" test " );
                    
// Stop all processes running on the DataBase database
                    server.KillAllProcesses( " test " );
                }

                BackupDeviceItem bdi 
=   new  BackupDeviceItem( string .Format( @" {0}\{1}.{2} " " D: " " DB_BACK " , " bak " ), DeviceType.File);

                Restore res 
=   new  Restore();
                res.Devices.Add(bdi);
                res.NoRecovery 
=   false ;
                res.ReplaceDatabase 
=   true ;
                res.Database 
=   " test " ;

                res.SqlRestore(server);
            }
        }


对照SQL Server Management Studio相关备份属性设置可以得到更多启示,这里只是做了简单的例子。


本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/586524,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
安全 数据库
事务故障恢复
事务故障恢复
290 0
事务故障恢复
|
Oracle 关系型数据库
oracle 数据回滚,恢复误删的数据,闪回表功能的使用
oracle 数据回滚,恢复误删的数据,闪回表功能的使用
1105 0
oracle 数据回滚,恢复误删的数据,闪回表功能的使用
|
SQL 关系型数据库 MySQL