使用SQLServer复制数据库


前言

开发环境数据库结构和生产环境不一致,需要将生产环境数据库搬迁到开发环境:
1、一般数据量小的话右键生成脚本,然后在新的库执行一下就好了,但是这个生成环境sql脚本1.8g,执行会超时,我也不敢用cmd 命令行执行,只能作罢~
2、下面这个方法在本地测试一切正常,但是去生产环境操作就不行
原因是生产环境用的华为云数据库,给的账号没有备份数据库权限……
3、最后手动把数据库结构差异补齐,浪费我好几个小时,就这?
但是这个方法在本地操作确实可行,记录一下


一、备份需要复制的数据库

执行下面语句备份数据库

BACKUP DATABASE database1 TO DISK = 'E:\tmp\dbbek\database1.bak'

database1:需要复制的数据库
E:\tmp\dbbek\database1.bak:备份到这个路径

二、获取LogicalName、PhysicalName这两个的值

执行下面语句,从刚刚备份文件中查询LogicalName、PhysicalName

RESTORE FILELISTONLY FROM DISK = 'E:\tmp\dbbek\database1.bak'

查询结果如下:(把这两个值保存起来)
在这里插入图片描述

三、使用刚刚的备份文件复制新数据库

RESTORE DATABASE database2
FROM DISK ='E:\tmp\dbbek\database1.bak'
WITH MOVE 'database1' TO 'D:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\database1.mdf',
MOVE 'database1_log' TO 'D:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\database1_log.ldf'

两个TO后面接的路径就是上面查询出来的路径
原文博主下图解释的很详细,就拿来用了

在这里插入图片描述

到这就复制完了,原文还写了定时备份啥的,目前不需要就不写了
原文:https://www.cnblogs.com/bdqczhl/p/16199900.html

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值