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


    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相关备份属性设置可以得到更多启示,这里只是做了简单的例子。

  • 相关阅读:
    用orgmode写加密日记
    用emacs加密文件(使用ccrypt)
    C#使用注册表添加删除开机启动项
    WPF中使用第三方字体选择器
    使用rdesktop远程连接Windows桌面
    webbrowser 提交按钮没反应的问题解决办法
    C#中webBrowser加载页面中的不同域的iFrame的源代码的取得
    C# 天涯博客验证码识别(转)
    webbroser 清除COOKIES的解决办法
    使用C#实现ADSL自动拨号
  • 原文地址:https://www.cnblogs.com/over140/p/902334.html
Copyright © 2020-2023  润新知