Sql server 将数据从一个数据库(和服务器)复制到另一个数据库(和服务器)时出现问题(违反主键约束)

Sql server 将数据从一个数据库(和服务器)复制到另一个数据库(和服务器)时出现问题(违反主键约束),sql-server,Sql Server,我正在尝试获取远程数据库的本地副本。我无法执行“复制数据库”,因为它不会复制到SQLExpress。所以我试着用数据编写脚本在本地重新创建,它一直到“结束”3次,然后说“生成脚本失败”。所以我只编写了模式脚本。所有表都是空的,但现在我得到了“复制键”错误(当然是在最后),如下所示: 错误0xc0202009:数据流任务1:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005。 OLE DB记录可用。来源:“Microsoft OLE DB Pro

我正在尝试获取远程数据库的本地副本。我无法执行“复制数据库”,因为它不会复制到SQLExpress。所以我试着用数据编写脚本在本地重新创建,它一直到“结束”3次,然后说“生成脚本失败”。所以我只编写了模式脚本。所有表都是空的,但现在我得到了“复制键”错误(当然是在最后),如下所示:

错误0xc0202009:数据流任务1:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80004005。 OLE DB记录可用。来源:“Microsoft OLE DB Provider for SQL Server”Hresult:0x80004005说明:“语句已终止。”。 OLE DB记录可用。来源:“Microsoft OLE DB Provider for SQL Server”Hresult:0x80004005说明:“违反主键约束“PK_utbl_AICC_u3214ec07d26fcb1e”。无法在对象“dbo.tbl_AICC_Results”中插入重复的键。重复的键值为(1)。”。 (SQL Server导入和导出向导)

我尝试勾选“删除表中的行”我尝试勾选“删除并重新创建表”,然后我得到一个无法截断的结果,因为表是外键,但我使用以下方法禁用了所有约束:

EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
对于建议备份的人…它不作为选项列出:

该数据库托管在Azure上,因此我不确定这是否是我无法进行备份和恢复的原因


因为我得到的是“无法插入只读Id”,所以我不再得到该Id,所以我只能假设删除有效。非常感谢您的帮助。

如果我没有看错,您希望将远程Azure SQL数据库移动/复制到本地实例。如果是这样,那么您需要在Azure中创建一个BACPAC,在本地复制该BACPAC并将其用于您的本地系统

见以下文件:


备份远程,还原到本地?我会的,但备份没有列为选项。SQL Server有“备份”的概念,因此您不需要像其他数据库引擎那样创建不可靠的脚本。只需将副本备份并还原到您的服务器。列出了选项吗?更新列表。这是学术练习吗?请注意,备份和还原也可以编写脚本。不,这不是一个学术练习。我想可能是因为它在云端?这是我第一次使用Azure上的数据库。我今天发现了很多,就像你不能调试它一样。