使用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
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献3条内容
所有评论(0)