You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SSMS的Import Data导入带主键表时,如何开启/关闭IDENTITY_INSERT

解决SQL Server带主键(标识列)的数据批量导入问题

针对同一实例下生产库到测试库的带主键数据导入需求,推荐以下几种高效且可频繁复用的方法:

方法1:调整SSMS导入导出向导的标识列设置

这是最贴合你原有操作习惯的方案,无需手写大量SQL:

  • 打开SSMS的导入数据向导,完成源(生产库)和目标(测试库)的连接配置
  • 进入「选择源表和源视图」步骤,选中需要导入的表,点击编辑映射按钮
  • 在弹出的映射窗口中,找到主键对应的标识列,勾选启用标识插入选项,同时确认目标列的数据类型、长度与源列完全匹配
  • 完成后续向导步骤即可,向导会自动执行SET IDENTITY_INSERT ON/OFF并处理数据插入,无需手动干预

方法2:批量生成带列列表的插入脚本

解决手动写列列表的麻烦,生成的脚本可长期复用:

  • 右键生产库中需要导出的表 → 任务 → 生成脚本
  • 在脚本生成向导中,选择目标表后,进入「设置脚本编写选项」步骤,点击高级按钮
  • 在高级选项里,将「编写数据的脚本」设为仅限数据,「编写标识列的脚本」设为True,其余保持默认
  • 生成的脚本会自动包含完整列列表的INSERT INTO语句,以及前后的SET IDENTITY_INSERT [目标表] ON/OFF指令,直接在测试库执行即可

方法3:用复制数据库向导批量同步整库或多表

适合需要频繁同步多表或整库的场景:

  • 右键生产库 → 任务 → 复制数据库,选择源服务器和目标服务器(同一实例直接选择当前服务器即可)
  • 选择同步方式:推荐「使用SQL Server管理对象方法」(无需分离数据库,适合在线操作)
  • 选择要复制的数据库,设置目标库名称(即你的测试库),向导会自动处理包括标识列在内的所有表结构和数据同步

注意事项

  • 导入前务必确保测试库表结构与生产库完全一致(包括主键约束、标识列属性),可通过生成结构脚本的方式先同步结构
  • 如果需要定期重复导入,可将生成的插入脚本保存,或通过SQL Server代理创建定时作业,实现自动化同步

内容的提问来源于stack exchange,提问作者Larry Stinson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 04:44:52