sql-server - 将数据从一个数据库(和服务器)复制到另一个的问题(违反主键约束)
问题描述
我正在尝试获取我们远程数据库的本地副本。我不能做一个“复制数据库”,因为它不会复制到 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__tbl_AICC__3214EC07D26FCB1E’。无法在对象‘dbo.tbl_AICC_Results’中插入重复键。重复键值为 (1)。”。(SQL Server 导入和导出向导)
我尝试检查“删除表中的行”我尝试检查“删除并重新创建表”,然后我得到一个无法截断,因为表是外键,但我使用这个禁用了所有约束:
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
对于那些建议备份的人......它没有被列为选项:
该数据库托管在 Azure 上,所以我不确定这是否是我无法进行备份和还原的原因。
因为我得到“无法插入只读 ID”,所以我不再得到那个,所以我只能假设删除有效。非常感谢任何帮助。
解决方案
如果我没看错 - 您想从远程 Azure SQL 数据库移动/复制到本地实例。如果是这样,那么您需要在 Azure 中创建一个 BACPAC,将其复制到本地并将其用于您的本地系统。
https://docs.microsoft.com/en-us/azure/azure-sql/database/database-export
推荐阅读
- c# - C# Vsts ReleaseManagement 列表批准和批准
- javascript - 我应该如何加密 API 访问的密码而不向客户端展示算法?
- ruby - 创建适当的模型关联
- postman - 有没有一种有效的方法来审查用 Postman 编写的代码?
- python - 有助于将数据加载到多个云数据库的 Python 包或设计
- excel - 按修改日期的顺序将图像获取到数组中(升序)
- java - 复合主键同步应用和数据跟踪
- docker - 如何删除早于 x 数量的 docker 堆栈
- android - 我的表格布局一直从左边的中心移动,无法找出原因
- javascript - node.js 字体无法正常工作且未显示错误