繁体   English   中英

SQL Server 2008 R2数据导出问题

[英]SQL Server 2008 R2 Data Export Problems

我正在尝试将数据从我的生产数据库导出到我的开发数据库但是我收到此错误:

消息错误0xc0202049:数据流任务1:未能插入只读列“id”。 (SQL Server导入和导出向导)

有没有办法检查哪一列是因为我有20个表,所有这些表都使用列名id或至少得到一个更好的错误报告?

选择要从中导入的表时,只需单击“ Edit mappings即可。 并选中Enable identity insert复选框。 你应该为每个选择的表做到这一点。 然后,您可以完成导入。 在同样的情况下帮助了我。

如果列ID是标识列,则可能设置为在插入行时自动生成,并且无法直接写入。

要保留从生产环境到测试的链接,请使用:

SET Identity_Insert <TableName> ON

允许您编写标识值。

我所要做的就是:

  • 右键单击列(在本例中为“ID”)
  • 选择修改
  • 在列属性内向下滚动,直到您看到身份规范
  • 展开视图,然后从下拉菜单中选择NO。

如果有人知道不同(更快)的方式,请分享

听起来好像你可能试图将值插入已声明为IDENTITY字段的列中。

嗯,答案有点晚,但我还是为了向社区提供而发布它。

我假设您正在尝试复制表(而不是部分数据)。 我的答案是基于这个假设。

  1. 通过SSMS中的对象资源管理器连接到源数据库。
  2. 右键单击要复制其表的数据库
  3. 转到“任务” - >“导出”
  4. 选择您的源服务器和目标服务器,如果您不希望在手按下下一步之前运行其他脚本('从一个或多个表或视图复制数据')。 现在,您可以选择要复制到目标的表。

选择要完全复制到目标的表。 然后单击“编辑映射”。 在这里你可以'启用身份插入'。 您还可以选择其他选项,然后在按OK之前检查屏幕。

如果您不在此处使用SSMS的快速版本,则可以创建SSIS包以创建作业并在将来自动化此过程。 您可以选中“立即运行”并按照屏幕显示所有警告和错误的情况。 希望你不会得到任何东西。 祝好运!

Tested with:
(
    Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (Intel X86) 
    Jun 17 2011 00:57:23 
    Copyright (c) Microsoft Corporation
    Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2)
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM