C#中数据库备份还原

使用前要导入SQLDMO.dll(在com组件中导入Microsoft SQLDMO Object Library即可)

复制代码
/// 
    /// DbOper类,主要应用SQLDMO实现对Microsoft SQL Server数据库的备份和恢复
    /// 
    public sealed class DbOper
    {
        /// 
        /// DbOper类的构造函数
        /// 
        public DbOper()
        {
        }
        /// 
        /// 数据库备份
        /// 
        public static void DbBackup()
        {
            SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
            SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
            try
            {
                oSQLServer.LoginSecure = false;
                oSQLServer.Connect(".","sa","sasa");//服务器名、账号、密码
                oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
                oBackup.Database = "tian";
                oBackup.Files = @"d:\tian.bak";
                oBackup.BackupSetName = "tian";
                oBackup.BackupSetDescription = "数据库备份";
                oBackup.Initialize = true;
                oBackup.SQLBackup(oSQLServer);
            }
            catch
            {
                throw;
            }
            finally
            {
                oSQLServer.DisConnect();
            }
        }
        /// 
        /// 数据库恢复
        /// 

        public static void DbRestore()
        {
            SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
            SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
            try
            {
                oSQLServer.LoginSecure = false;
                oSQLServer.Connect(".", "sa", "sasa");
                oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
                oRestore.Database = "tian";
                oRestore.Files = @"d:tian.bak";
                oRestore.FileNumber = 1;
                oRestore.ReplaceDatabase = true;
                oRestore.SQLRestore(oSQLServer);
            }
            catch
            {
                throw;
            }
            finally
            {
                oSQLServer.DisConnect();
            }
        }
    }
复制代码


要对SQLDMO.dll一个属性改为false   否则会报错

 

posted @   踏浪帅  阅读(367)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示