20
2012
05

.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



版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。