.net mssql自己封装的 备份/还原 数据库方法

简介:        #region 数据库备份 BackupData         ///         /// 数据库备份         ///         /// MapPath转换过的备份文件目录         /// ...

       #region 数据库备份 BackupData
        /// <summary>
        /// 数据库备份
        /// </summary>
        /// <param name="dir">MapPath转换过的备份文件目录</param>
        /// <param name="dbname">数据库名称</param>
        /// <returns>返回string值为空表示备份成功</returns>
        public static string BackupData(string dir, string dbname)
        {
            string ErrorString = "";
            string bakpath = string.Format("{0}/bak{1}.bak", dir, Utility.timestring);///完整的路径
            string strSql2 = string.Format("backup database {0} to disk='{1}'", dbname, bakpath);

            using (SqlConnection conn = new SqlConnection(connectionString))
            {

                using (SqlCommand cmd = new SqlCommand(strSql2, conn))
                {
                    try
                    {
                        conn.Open();
                        cmd.ExecuteNonQuery();
                    }
                    catch (Exception er)
                    {
                        ErrorString = er.Message;
                    }

                }
            }
            return ErrorString;
        }
        #endregion

        #region 还原数据库(还原数据库要有权限才能还原成功)RestoreData
        /// <summary>
        /// 还原数据库(还原数据库要有权限才能还原成功)
        /// </summary>
        /// <param name="bakpath">MapPath转换过的备份文件路径</param>
        /// <param name="dbname">数据库名称</param>
        /// <returns>返回string值为空表示还原成功</returns>
        public static string RestoreData(string bakpath, string dbname)
        {
            string ErrorString = "";
            ///这里改成数据库管理员帐号和密码
            //"Data Source=PKM-PC\\SQL05;Initial Catalog=dbtest;User Id=**;Pwd=****";
            string cmdtxt = string.Format("use master restore database {0}  from disk='{1}'", dbname, bakpath);
            using (SqlConnection Conn = new SqlConnection(connectionString))
            {

                try
                {

                    using (SqlCommand cmd = new SqlCommand(cmdtxt, Conn))
                    {
                        Conn.Open();
                        cmd.ExecuteNonQuery();
                    }

                }
                catch (Exception er)
                {
                    ErrorString = er.Message;
                }
            }
            return ErrorString;
        }
        #endregion




相关文章
|
1月前
|
SQL 缓存 PHP
PHP技术探究:优化数据库查询效率的实用方法
本文将深入探讨PHP中优化数据库查询效率的实用方法,包括索引优化、SQL语句优化以及缓存机制的应用。通过合理的优化策略和技巧,可以显著提升系统性能,提高用户体验,是PHP开发者不容忽视的重要议题。
|
1月前
|
存储 缓存 NoSQL
利用Redis List实现数据库分页快速查询的有效方法
利用Redis List实现数据库分页快速查询的有效方法
|
1月前
|
SQL 关系型数据库 MySQL
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
【MySQL】— —熟练掌握用SQL语句实现数据库和基本表的创建。熟练掌握MySQL的安装、客户端登录方法;熟练掌握MySQL的编码、数据类型等基础知识;掌握实体完整性的定义和维护方法、掌握参照完整性
99 1
|
13天前
|
数据库
使用Navicat Premium 12进行数据库定期自动备份(定时任务)--图文详解
使用Navicat Premium 12进行数据库定期自动备份(定时任务)--图文详解
19 0
|
13天前
|
SQL 存储 关系型数据库
mysql数据库备份与恢复
mysql数据库备份与恢复
|
1月前
|
Oracle Java 关系型数据库
java实现遍历树形菜单方法——数据库表的创建
java实现遍历树形菜单方法——数据库表的创建
11 0
|
1月前
|
SQL 关系型数据库 数据库连接
描述一下在 Python 中使用数据库的常见方法。
【2月更文挑战第26天】【2月更文挑战第91篇】描述一下在 Python 中使用数据库的常见方法。
|
1月前
|
SQL 存储 数据库
数据安全无忧,SQL Server 2014数据库定时备份解密
数据安全无忧,SQL Server 2014数据库定时备份解密
|
1月前
|
SQL 存储 关系型数据库
数据库迁移mssql to pgsql之函数转换
数据库迁移mssql to pgsql之函数转换
|
2月前
|
关系型数据库 MySQL Linux
Linux环境下定时备份mysql数据库
Linux环境下定时备份mysql数据库