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

       #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

时间: 2024-09-16 12:33:55

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

mysql 备份还原-navicat for mysql 导入导出sql文件 备份还原 数据库的原理 相关指令大概是怎样的?

问题描述 navicat for mysql 导入导出sql文件 备份还原 数据库的原理 相关指令大概是怎样的? 本地不用安装mysql也可以使用?不用配置环境变量?自己用mysqldump备份要安装mysql还有配环境,求高人指点

SQL点滴12—SQL Server备份还原数据库中的小把戏

原文:SQL点滴12-SQL Server备份还原数据库中的小把戏 备份数据库时出现一个不太了解的错误 ,错误信息"is formatted to support  1 media families, but 2 media families are expected according to the backup device specification".如下图: 解决办法是首先选中击上一次备份的文件,点击Remove,去掉当前的备份文件,然后再点击OK备份.这样才能正确的备份.也

mysql中利用mysqldump命令备份还原数据库

一.常用操作: 备份整个数据库 格式: mysqldump -h主机名  -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql mysqldump -h{hostname} -P{port} -u{username} -p{password} {databasename} > {backupfile.sql} 例如:   代码如下:  代码如下 复制代码 mysqldump -hlocalhost -P3306 -uzhuchao -p123456 db_tes

备份-还原数据库时,当前命令发生了严重错误 应放弃任何可能产生的结果.错误:211

问题描述 还原数据库时,当前命令发生了严重错误 应放弃任何可能产生的结果.错误:211 各位帮忙看看,是不是数据库中有异常数据,备份出来之后没办法还原了? 解决方案 http://blog.csdn.net/attilax/article/details/41521285

MySQL 备份还原数据库批处理_Mysql

1.备份数据库(单个表备份) bk_table.bat 复制代码 代码如下: mysqldump -h127.0.0.1 -P3306 -uroot -proot --default-character-set=gbk -t database1 table1>table1.sql mysqldump -h127.0.0.1 -P3306 -uroot -proot --default-character-set=gbk -t database2 table2>table2.sql mysqld

通过SQL语句来备份,还原数据库_Mysql

eg: 复制代码 代码如下: /* 通过SQL 语句备份数据库 */ BACKUP DATABASE mydb TO DISK ='C:\DBBACK\mydb.BAK' --这里指定需要备份数据库的路径和文件名,注意:路径的文件夹是必须已经创建的.文件名可以使用日期来标示 /* 通过SQL语句还原数据库 */ USE master RESTORE DATABASE mydb FROM DISK='C:\DBBACK\mydb.BAK' WITH REPLACE 注意:很多时候不能直接还原,因为

通过SQL语句来备份,还原数据库

里仅仅用到了一种方式而已,把数据库文件备份到磁盘然后在恢复. eg: /* 通过SQL 语句备份数据库 */ BACKUP DATABASE mydb TO DISK ='C:DBBACKmydb.BAK' --这里指定需要备份数据库的路径和文件名,注意:路径的文件夹是必须已经创建的.文件名可以使用日期来标示 /* 通过SQL语句还原数据库 */ USE master RESTORE DATABASE mydb FROM DISK='C:DBBACKmydb.BAK' WITH REPLACE

Dedecms备份还原网站方法介绍

Dedecms网站备份还原技巧1: 1.首先在旧站后台备份数据库. 2.上旧站FTP下载三个文件夹: dede文件夹下面的backup_data文件(只下载backup_data文件夹就行了,这是数据库备份), uploads文件夹(存放图片.附件之类的), templets文件夹(旧站模版,如果不想要可以不要) 3.在新站安装与旧站一样版本的dede,网站后台密码还有数据库密码与旧站一样 4.上传下载好的旧站三个文件替换新旧的三个文件夹 5.到新站后台数据库还原 6.更新下网站内容就行了. D

mysqlhotcopy备份mysql数据库方法

与mysqldump比较: 1.前者是一个快速文件意义上的COPY,后者是一个数据库端的SQL语句集合. 2.前者只能运行在数据库目录所在的机器上,后者可以用在远程客户端,不过备份的文件还是保存在服务器上. 3.相同的地方都是在线执行 LOCK TABLES 以及 UNLOCK TABLES 4.前者恢复只需要COPY备份文件到源目录覆盖即可,后者需要导入SQL文件到原库中.(source 或 mysql < bakfile.sql) 5.前者只适用于 MyISAM 引擎,而后则则可同时使用于M