【问题标题】:Is it possible to restore data from a table in sql server 2005 to sql server 2008?是否可以将sql server 2005中的表中的数据恢复到sql server 2008?
【发布时间】:2011-09-19 02:09:11
【问题描述】:

客户别无选择,只能在接下来的几天内从 sql server 2000 迁移到 2008。测试表明,2005 年重要功能的性能下降令人无法接受,但 2008 年没有。不过,好东西,该应用程序使用 DTS 将外部市场数据导入数据库,到 2008 年不再支持 DTS。

在可以重写函数之前,我认为可以在 2005 年的实例中完成导入,然后将数据(来自一个表)上传到 2008 年。

(a) 有其他选择吗? (b) 如果没有,有没有一种简单的方法可以实现2005年到2008年的数据上传?

感谢您提供任何帮助/建议。

【问题讨论】:

    标签: sql-server database sql-server-2005 sql-server-2008 restore


    【解决方案1】:

    我可能误解了您需要做什么,但是将数据库从 2005 移动到 2008 可以做的一件事就是将 2005 实例上的数据库备份到 .bak 文件:右键单击Management Studio 的对象资源管理器中的数据库(或在您的 SQL Server 版本中调用的任何内容!),然后执行任务 -> 备份数据库,并将其保存在您可以从两个实例中看到的位置。然后到 2008 实例中,在 2008 实例中执行“任务 -> 恢复数据库”,恢复的数据库副本应该在 2008 中正常工作。

    我认为,使用这种方法,你可能会遇到麻烦。

    【讨论】:

    • 感谢及时回复:问题是2005有2008没有的性能问题,而2005有DTS,2008没有。客户正在考虑在 2008 年运行生产,作为 DTS 解决方法,我认为市场数据导入可以进入“测试”2005 实例,然后将数据表上传到 2008 Prod DB。
    • 哦,现在我明白了。这将教我更仔细地阅读问题(!)。不过,恐怕我对 DTS 一无所知。
    • 是否有可能将市场数据保留在 2005 年实例中,并在 2008 年实例中获得某种与另一个实例相反的视图?我从来没有尝试过这样的事情......
    • 有趣的想法......但是市场数据在公式计算中被广泛使用,我感觉一大块代码和许多脚本需要重写。
    • 但我的意思是,如果您将 2008 实例上的视图与表最初的名称相同,那么可能什么都不会注意到。 (虽然我不知道在这种情况下这是否实用)
    【解决方案2】:

    您可以使用 SSIS 包来执行 DTS 包,并且 AFAIK 您可以在 SQL 2008 (MS link) 中执行 DTS 32 位。另一种选择是以兼容模式运行数据库,这可能会避免您看到的性能问题。总而言之,使用 SSIS 重写 DTS 可能会更好。概念相似,使用 SSIS 重新创建它应该不会有太多麻烦。

    【讨论】:

    • 谢谢 - 应用程序的 DTS 部分是在应用程序本身内部处理的。我假设如果不进行某种重写,我们将无法使用 SSIS 执行 DTS 功能,因此我的想法是临时权宜之计。
    • 鉴于 DTS 执行存在于应用程序中,我认为您需要权宜之计是正确的。诚然,这不是最优雅的解决方案,但考虑到系统限制,我认为您提出的建议是升级到 SSIS 之前的最佳权宜之计。
    猜你喜欢
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多