2010-03-16 218 views
0

我们正在将客户端自己的数据库模式迁移到我们自己的(都是SQL-Server)。大多数从他们的模式到我们的模式的映射已经被识别,并且如果列没有完全对齐(默认值等),则规则被商定。数据库迁移

以前,取决于谁被分配了任务,这已经完成混合使用sql脚本或一次性vb应用程序。

我在想,必须有一个应用程序(商业或其他),您可以在其中分配这些映射/规则,并让它流式传输数据。当然,这个工具的设置和配置将少于创建专门的脚本...

有没有应用程序?除了明显的“小心”之外,还有什么提示可以缓解非DBA将一个模式移植到另一个模式的压力?

回答

0

不是。问题是,无论你使用什么应用程序,无论如何都会是更多的僵尸。根据定义,模式转移在部分方面很难做到。而一个做一半东西的工具几乎是无用的 - 这在SQL中很容易实现;)

0

我每天都在做这种事情。由于我们软件的自定义性质,我通常一劳永逸。大约70%的时间,我使用ms访问作为中介(其余时间,我写代码来做)。我将源数据加载到ms访问中,按下它,然后将它移动到我们的sql服务器表中。访问非常适合这种类型的工作。要小心的主要是你的钥匙和重复的限制。我确定有现成的应用程序可以进行数据迁移,但对于我的使用,我需要更多的控制权限,并且ms访问权限允许我重新使用数据导入的某些部分,同时保持定制所有内容的能力。

最好的问候, 不要

1

您可以使用数据库迁移在你的代码。

有几个.net数据迁移库受ruby迁移的启发。他们在代码中定义数据库更改。

迁移允许开发人员以受控和一致的方式管理数据库模式更改的卷展和回滚。

看看这些:

+0

大部分这些是否支持架构的大规模更改?没有一个表名称映射(例如:我们所有的都有一个前缀),不同的字段名称(有些是多元化的,有些不是)。 – 2010-03-16 14:02:07

+0

你几乎定义了一个'上'和'下'脚本的变化 - 它会像你做的那样全面。如果这是问题,他们不会自动更改存储过程中的列名。 – Oded 2010-03-16 14:11:50

+0

RikMigrations(尽管名称)似乎是列出的最佳选择。 – 2010-03-16 14:16:16

1

对于这样的任务,我使用了一个名为Talend Open Studio的开源ETL(提取/转换/加载)工具。简而言之,Talend Open Studio(TOS)是一个GUI代码生成工具,您可以在其中插入不同的组件以导入,导入和导出数据 - 而生成的代码是可移植的Java或Perl。有很多组件可以帮助您做出有关非标准数据的决策(或者您可以随时为最复杂的部分添加自己的Java或Perl例程)。

TOS已被证明非常值得我最初投资它的时间...所以我肯定会推荐它。

+0

嗯。我们是一家微软商店,所以java/perl可能有点难飞。 – 2010-03-16 14:15:36

+0

我的公司也非常以微软为中心......但现在几乎不可能避免在某处使用某些Java。在我们的例子中,使用java.exe命令行从Talend运行JAR非常简单,甚至可以从我们的基于Windows的作业控制软件中运行。但是YMMV,当然;) – ewall 2010-03-16 21:03:57

0

尝试SQL Data Examiner。 此工具允许比较/同步sql查询结果,因此您可以将适当的查询写入两个数据库并比较/同步这些查询返回的结果。