我已经对此主题进行了一段时间的研究,但似乎找不到与我的问题类似的实例。我会尽我所能,尽可能简单地解释一切。
问题出在标题中;我正在尝试将数据从 Access 数据库迁移到 SQL Server。通常,这并不是一个真正的难题,因为 SQL Server 中存在多个导入/导出工具,但我正在寻找最佳解决方案。那或一些建议/提示,因为我对数据库迁移有些陌生。我现在开始说明我的情况。
所以我目前正在以非规范化的形式迁移存在于 Access“数据库”(引号中的数据库,因为我不认为它实际上是一个数据库,你马上就会知道为什么)中的数据。我所说的未标准化是指所有数据都在一个表中。该表有大约 150 多列,行数以千计。哎呀,我知道;这就是我走进大声笑的地方。无论如何,坐下来整理所有内容,我已经为数据设计了关系,以便在它的新家 SQL Server 中很好地对其进行规范化。输入我的困境(或至少部分)。我设置了规范化数据库来保存数据,但我不知道如何导入它、按摩/剪切它,并将它放在我设置的相应表中。
到目前为止,我已经对可以做什么进行了大量研究,对于初学者来说,我发现了 SQL Server 迁移助手。我已经开始弄乱它,并且能够将数据从 Access 导入 SQL Server,但不是以我想要的方式。我得到的只是将数据直接复制并粘贴到我的 SQL Server 数据库中,就像在 Access 数据库中一样。然后我了解了为这种类型的迁移设置全局表/暂存区的典型做法,但在使用 TSQL 时我有点新手。我的问题的核心归结为这一点;SQL Server 中是否有某些功能(其导入/导出工具或 SSMA)允许我将数据发送到规范化 SQL Server 数据库中已存在的正确表?或者我是否导入到暂存区域并编写脚本来剖析数据并将数据提取到相应的规范化表中?如果是后者,有人可以向我展示一些 TSQL 看起来像做这种事情的提示/示例。显然,如果没有我共享数据(我没有自由,因为它是客户数据),我不能指望任何人提供确切的脚本,所以一些千篇一律的例子会起作用。
此外,未来的数据将从各种来源(例如可能是 excel)进入新数据库,因此请记住这一点。我不想创建一个新问题,每次有人想向数据库添加数据时,都必须编写一个新的导入、排序和存储脚本。
希望这不会太令人费解,并且有人愿意(并且能够)帮助我。我将不胜感激任何建议/提示。我相信这会对我以外的其他人有所帮助,因为我发现很多其他人都在寻找类似的东西。此外,它可能会导致 TSQL 专家展示此类数据迁移脚本的示例和/或解释如何使用以其他人以前未使用过的方式存在的工具或文档中未充分解释的功能/能力.
谢谢,
大号