数据库备份

数据库备份

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Visual Studio 2015

作者:李成富

撰写时间:2019年7月12日

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

对于任何数据库来说,备份都是非常重要的。数据库复制不能取代备份的作用。比如由于操作失误,在主数据库上删除了一些数据,由于主从复制的时间很短,在发现时,从数据库上的数据可能也已经被删除了,我们不能使用从数据库上的数据来恢复主数据库上的数据,只能通过备份进行误删除数据的恢复。

 

第一种:在数据库上单击要备份的数据,从右键菜单选择“任务”->“备份数据库”。

选择“完全备份”,删除“备份到”列表框中的现有内容,然后“添加”;弹出“选择备份目的”对话框,“文件名”就是你要得到的备份文件的存放路径。选好后确定,这时“备份到”列表框中出现你选择的目的文件路径。因为没有重名文件,“追加”或“重写”选项的效果是一样的,不用管。选中它,确定,等待备份完成。完成后在指定的路径下将看到备份的文件,注意该文件默认没有后缀名。

 

第二种:想要通过SQL语句备份数据库数据,首先要知道备份的数据库名称,还有要备份到哪里(路径)等等一些数据,才可以进行备份。这里需要获取的数据有服务器名称、数据库名称、备份文件名称和文件存储路径。注意是保存为.bak文件。

首先输入内容,输完后,点击备份按钮,视图那边就会获取输入的服务器名称、数据库名称、备份文件名称和文件存储路径并且进行判断是否为空。

视图代码:

//备份按钮

        $("#Backups").click(function () {

            //服务器名称

            var ServiceNametxt = $("#ServiceNametxt").val();

            //数据库名称

            var DataStoreroomNametxt = $("#DataStoreroomNametxt").val();

            //备份文件名称

            var FileNametxt = $("#FileNametxt").val();

            //文件路径

            var StrPathtxt = $("#StrPathtxt").val();

            //判断获取的数据是否为空

            if (ServiceNametxt != "" && DataStoreroomNametxt != "" && FileNametxt != "" && StrPathtxt != "") {

                $.post("CopyDataStoreRoom", {

                    ServiceNametxt: ServiceNametxt,

                    DataStoreroomNametxt: DataStoreroomNametxt,

                    FileNametxt: FileNametxt,

                    StrPathtxt: StrPathtxt

                }, function (data) {

                    if (data == "success") {

                        layer.alert("数据备份成功!", { skin: 'layui-layer-molv', title: '提示'})

                    }

                    else {

                        layer.alert("数据备份失败!", { skin: 'layui-layer-molv', title: '警告'});

                    }

                });

            }

            else {

                layer.alert("请完善数据再进行备份操作!", { skin: 'layui-layer-molv', title: '警告'});

            }

        });

 

如果不为空就执行控制器代码:

//获取服务器名称

StrServiceName = Request.Form["ServiceNametxt"].Trim();

//获取文件路径

StrPath = Request.Form["StrPathtxt"].Trim();

//获取数据库名称

string DBO = Request.Form["DataStoreroomNametxt"].Trim();

//获取备份文件名称

string NameFile = Request.Form["FileNametxt"].Trim();

int i = SQLBeiFengBak(DBO, NameFile);

return Json("success", JsonRequestBehavior.AllowGet);

 

int SQLBeiFengBak(string YYG, string NameFile)

{

//设置登录SQL服务器的IP,登录名,登录密码

string connString = @"Data Source='" + StrServiceName + "';Initial Catalog=HospitalManage;  User ID=sa;Password=sa@123";

string strpath = "" + StrPath + "\\";

strpath = strpath.Substring(0, strpath.LastIndexOf("\\"));//截取路径

//设置数据库备份SQL字符串

string sqltxt =

@"BACKUP DATABASE " + YYG + " TO Disk='" + strpath + "\\" + NameFile + ".bak" + "'";

Connect = new SqlConnection(connString);

SqlCommand cmd = new SqlCommand(sqltxt, Connect);

Connect.Open();

int StrReturn = Convert.ToInt32(cmd.ExecuteNonQuery());

Connect.Close();

Connect.Dispose();//释放数据库连接资源

return StrReturn;

}

 

效果图如下:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值