企业网站建设457,宁波优化网站排名价格表,汕头电商网站建设,网站超级推广本文解决#xff1a;不同版本sql server复制表、导数据#xff1b;把数据库的结构和全部数据从2016版导入到2014版。 分离数据为mdf,ldf后#xff0c;导入过程中无权限、被占用问题。
使用脚本#xff08;.sql文件#xff09;
导出
选中你要导出的数据库#xff0c;右…本文解决不同版本sql server复制表、导数据把数据库的结构和全部数据从2016版导入到2014版。 分离数据为mdf,ldf后导入过程中无权限、被占用问题。
使用脚本.sql文件
导出
选中你要导出的数据库右击选择“任务-生成脚本” 选择对象选项卡中,选选择具体的数据库对象勾选全部表。 设置脚本编写选项一步“将脚本保存到特定位置单个文件文件名sql脚本名Unicode文本”都不用多说。主要是需要在高级中设置**高级A**中设置如下 服务器版脚本 选择SQL Server 2014 要编写脚本的数据的类型 架构和数据 然后关闭点击下一步直到导出脚本。这个脚本就可以在2014版用。
导入
由于生成的.sql脚本文件执行时会在数据库中重新建表因此需要删除已有的数据库中的表然后才能执行。如果导出的时候只选择数据可能就不用清空数据库了。 也可以删除然后再新建数据库即依次使用如下语句:
use [其他数据库名]; --不使用才能删除
Drop database [数据库名];
Create Database [数据库名];然后打开生成的.sql脚本文件全选然后执行即可。这一步会建立新数据库和表还带着数据。
备注
如果想导入到一个新名称的数据库使用上述的脚本也很简单。 导出的脚本第一句是 USE [数据库名A]。 只需要新建一个[数据库B]然后把上述 [数据库名A]改成 [数据库B]即可。
使用mdfmlf
此方法不适用于本例子会报错但是同版本没问题。使用平台为sql server 2016。
导出:
首先留意一下导出后的位置。 右键数据库-属性-文件-最后面有一个“路径”字段指示着分离操作后的位置。 右击数据库-任务-分离-选择“删除连接”“更新统计信息”-确定会得到数据库的.mdf和.ldf文件。 分离后这个数据库就不出现在整个列表中了。如果想要留住可以点击最上面数据库右键-附加-添加mdf文件-确定(这也是导入的一种方法)。 但是为了能够拷贝这个数据库可以先拷贝一份。 但是如果mssqlserver在运行中的话这两个文件是无法复制的因为这就是相应数据库的存储数据。所以拷贝之前应该先关闭mssqlserver服务。 导入
导入附加时要求目前不存在一个同名的数据库名下述sql语句中的[数据库名]。
--导入mdf、ldf文件
exec sp_attach_db dbname [数据库名],
filename1 D:\Microsoft SQL Server\Files\TestData\....\A.mdf,
filename2 D:\Microsoft SQL Server\Files\TestData\....\A_0.ldf在使用中发现如果文件被导入那么这个文件就会随着数据库的CUID操作而改变。也就是这些文件成为了相应数据库的数据存储位置。 而且它不能在mssqlserver运行中被拷贝因为可能正有读/写请求 如果执行时遇到下述问题
权限不足。 对上述两个文件右击属性-安全-然后编辑Authentior权限为完全控制。已经有用户在用。说明目前该mdfldf已经被附加过一次了此时需要用其他的来源。当然也可以复制一份。但是如果mssqlserver在启动中的话是无法复制的所以应该先关闭该服务。
参考这个 https://blog.csdn.net/hzp666/article/details/81865580