我目前正在启动一个从 Oracle 到 SQL 2008 迁移的项目。由于我目前正在阅读从 Oracle 迁移到 SQL Server 2005 的官方 SSMA 指南,因此我想从个人经验中获得建议和指导。
指南和文章以有组织的方式突出显示出现的问题、disutions 和解决方案将被 aprecieated。
谢谢
我目前正在启动一个从 Oracle 到 SQL 2008 迁移的项目。由于我目前正在阅读从 Oracle 迁移到 SQL Server 2005 的官方 SSMA 指南,因此我想从个人经验中获得建议和指导。
指南和文章以有组织的方式突出显示出现的问题、disutions 和解决方案将被 aprecieated。
谢谢
Oracle 和 SQL Server 之间有一些不重叠的功能,它们的工作方式在很多方面都大不相同。例如:
Oracle 没有直接等效于标识列。使用序列可以以不同的方式完成等效功能。
PL/SQL 和 T-SQL 是完全不同的语言。如果您有大量存储过程代码,请准备好花费大量时间来移植它。此外,t-sql 惯用语通常与 PL/SQL 有很大不同。
例如,T-SQL 在 set-ops 方面比 PL/SQL 好得多,而 PL/SQL 在使用游标(例如并行循环结构)方面要好得多。在 PL/SQL 中迭代完成的某些事情可能最好使用 T-SQL 中的集合操作和临时表来完成。
默认情况下,SQL Server 中的比较不区分大小写。Oracle 中的比较区分大小写。
在 SQL Server 中使用表分区与 oracle 完全不同(而且有些笨拙)。
Microsoft 拥有一套全面的资源来帮助将应用程序和数据库从 Oracle 迁移到 SQL Server 2008。查看SQL Server 2008 解决方案 - 迁移的主迁移页面- 它包括迁移方法、帮助您的工具和一些客户推荐。
希望这可以帮助。
Oracle 和 SQL Server 在管理和数据库使用方面都非常不同。
数据库使用
准备好花相当多的时间移植。我头顶的一些问题:
PL/SQL 与 T-SQL
语言本身的差异足以使您的脚本和存储过程需要大量的移植工作。范围从不同的连接运算符(
||
vs.+
)到函数名称和细微之处的变化(NVL
vs.COALESCE
),再到概念上的差异(异常处理、区分大小写)。其他一些例子:光标与临时表
您在 Oracle 中使用游标所做的大部分事情都是在 SQL Server 中使用临时表完成的。
序列与身份
它们大部分是等价的,但是您必须更改使用它们的任何过程的语法。
数据库管理
它们大多具有相同的功能,有时使用不同的名称并具有不同的副作用。一些亮点:
简而言之,从 Oracle 到 SQL Server(反之亦然)有相当长的学习曲线。随意添加到此列表中。
本视频教程主题为“以减少 80% 的工作量从 Oracle 迁移到 SQL Server ”,可能会为您提供完整的图片。
视频网址:http ://wtv.watchtechvideos.com/topic307.html
我更喜欢第三方应用程序来迁移我的数据,我在将 MS SQL 迁移到 Foxpro 时使用数据加载器,它工作得很好,它几乎可以迁移任何数据库。
免费下载:http ://www.dbload.com