.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月前
|
存储 NoSQL API
一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库
一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库
|
1月前
|
关系型数据库 MySQL 数据库
Python tk dos命令备份mysql数据库
Python tk dos命令备份mysql数据库
16 0
|
5天前
|
关系型数据库 MySQL Linux
Linux环境下定时备份mysql数据库
Linux环境下定时备份mysql数据库
|
6天前
|
XML SQL 安全
某教程学习笔记(一):08、MSSQL数据库漏洞
某教程学习笔记(一):08、MSSQL数据库漏洞
6 0
|
6天前
|
数据库 对象存储 数据安全/隐私保护
在oceanbase数据库中,有没有遇到备份到oss环境,备份进度到98%就一直卡着的问题?
在oceanbase数据库中,有没有遇到备份到oss环境,备份进度到98%就一直卡着的问题?
13 6
|
13天前
|
SQL 存储 关系型数据库
备份数据库
备份数据库
17 9
|
27天前
|
SQL 存储 算法
【数据库SQL server】数据库系统概述与DBS结构
【数据库SQL server】数据库系统概述与DBS结构
55 0
【数据库SQL server】数据库系统概述与DBS结构
|
30天前
|
关系型数据库 MySQL Shell
linux shell脚本实现自动备份Mysql数据库脚本
linux shell脚本实现自动备份Mysql数据库脚本
137 3
|
1月前
|
关系型数据库 MySQL 数据库
Net Core备份MySQL数据库
Net Core备份MySQL数据库
20 2
|
1月前
|
存储 SQL 安全
MSSQL存储过程:数据库操作的得力助手
MSSQL存储过程:数据库操作的得力助手
24 0

热门文章

最新文章