SQLSERVER2008导入数据保持关键字、有自增主键的数据导入

本文介绍了在不能直接使用SQL管理工具导入数据时,如何通过生成脚本来迁移数据库。步骤包括生成包含架构和数据的脚本,处理ID自增、主键索引等问题,并提供了针对数据库存在或不存在的不同处理方案。对于大量数据,可以使用导入数据功能,注意勾选适当选项以确保数据完整性和标识插入。
摘要由CSDN通过智能技术生成

A数据库的几个表要导入到B数据库中,不能直接使用****sql企业管理器向目标数据库导入数据,就会发生一系列操蛋的问题:
ID不能自增了、ID改变了、主键索引被删了。

办法是:(1)生成脚本 (2)再来导数据

首先在源数据库上右键-任务-生成脚本,下一步,下一步,到了保存sql文件这里点高级,接下来有两种情况:

1:导出数据结构和数据(适合少量数据,几千条以内,数据多了脚本文件太大在sql软件上无法执行,要用sqlcmd,但这个工具要看人品,人品不好遇到一大堆操蛋的问题,还有另一个方法是osql,直接用win32 cmd执行sql文件,但速度慢,我上次几万条数据执行了20多分钟)。

首先,在高级里面找到为服务器版本编写脚本这项,右边选择你的服务器数据库版本,其次,找到要编写脚本的数据的类型这项,右边选择架构和数据。

然后点确定,继续下一步完成。

把生成的sql文件在你的服务器上的sql软件里面打开,根据需要可以修改一下脚本中的数据库地址,点击执行,就会自动创建数据库、表,然后导入数据(如果数据库存在,先删除)。

上面这种情况是你可以在服务器上删除、创建数据库,如果不能删除重新创建,那就要使用原先的数据库,所以在服务器上打开脚本找到alter database 把前面的代码全部删掉,接下来脚本中的数据库名称如果和服务器上的不一样就改一下,执行脚本。

注意一个问题:

如果数据库存在不能删除重建,那就删除数据库里面的表,删除代码中alter database前面的代码,修改脚本中的database名称,再执行。

2:仅导出结构。

导出结构后把代码考到服务器数据库上去执行,默认会创建数据库,所以如果数据库存在就先删除,不能删除的话,就删除里面的表,删除代码中alter database前面的代码,修改脚本中的database名称,再执行,这样就能在服务器上创建好数据库结构,接下来是导入数据。

如果是少量数据,可以到直接生成脚本,高级里面选择仅导出数据,然后在服务器上直接执行。

如果是大量数据,用sql企业管理器连接目标数据库(直接在本地数据库右键导出数据,再去连目标数据库也行),

右键导入数据,然后直到选择表源和源视图这里,勾选要导入的表和视图后,然后看看这些一一对应的表对应的行是不是选中状态(不是前面那个勾,是整行),点击下面的编辑映射:

如果是第一次导入数据,勾选启用标识插入,一直下一步就能导入成功。

如果不是第一次,表中有数据,就同时勾选删除现有表中的行和标识插入,或者把三个勾都勾上,这里值得一提的按我们人的正常理解可以勾选“删除并重新创建目标表和启用标识插入”就行了啊,表都删除重建了肯定旧数据不在了噻,但是TM不行,这样导入后之前的数据居然还存在,你说脑残不脑残,所以这里要么勾最后两个,要么三个全勾上。

在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值