【问题标题】:Upgrading SQL Server 2000 to 2005 or 2008 - DTS to SSIS将 SQL Server 2000 升级到 2005 或 2008 - DTS 到 SSIS
【发布时间】:2010-10-21 06:08:52
【问题描述】:

我们的办公室使用 SQL Server 2000,总的来说它很好地满足了我们的需求。我正在考虑升级到 SQL 2005 或 2008 的可能性,因为 2000 年没有发现新功能(当我看到索引使用统计数据告诉我哪些索引是最常用的,哪些从未使用过,这让我大吃一惊) .

我不太关心如何将数据库从 2000 移动到 2005 或 2008 - 我可以进行完整备份,然后将备份恢复到新的 sql 安装。我担心的是现有的 DTS 包。我们每天都依赖着几十个。将现有的 DTS 包转换为 SSIS 有多难/容易?我必须注意哪些“陷阱”?

【问题讨论】:

    标签: sql-server sql-server-2005 ssis upgrade dts


    【解决方案1】:

    进行备份和恢复以进行数据库服务器升级有很多问题。最好进行就地升级(您可能需要先对服务器进行完整备份)并让 MS 安装程序完成工作。 2005 支持 2000 个 DTS 包作为旧版,因此无需学习 SSIS 并转换所有包,除非您有时间且数量不多。

    至于备份和恢复升级,别忘了:

    1. 登录,您需要转移这些, 详情请见KB246133
    2. 已授予任何用户和角色权限 到系统数据库将需要 重新创建或转移
    3. 链接服务器或远程服务器需要重新设置
    4. SQL Server 代理作业需要导出-导入
    5. 任何扩展存储过程都需要 重新创建
    6. 需要重新设置复制
    7. 日志传送需要 重新设置和备用服务器也 升级

    【讨论】:

    • 答案中指向 KB246133 的链接已失效/无效。
    【解决方案2】:

    有一个用于 DTS 包的迁移工具,但我不会使用它。 SSIS所以比 DTS 好很多,你应该这样做:

    1. 了解 SSIS。适应它。为拥有实际的控制流而欢欣鼓舞。
    2. 花点时间了解和记录现有的 DTS 包,同时您还拥有它们所针对的环境。
    3. 利用这种理解来编写等效的 SSIS 包。

    如果您不了解 SSIS,这个想法对您来说毫无意义。例如,我只是在想我过去是如何在 DTS 中进行循环的——整个业务就是查找和修改您想要循环回的优先约束。

    SSIS 实际上有一个 For Loop 容器,它可以遍历一组数字、行集中的行、文件夹中的文件等。没有优先约束和少量隐藏脚本的 hack。

    【讨论】:

    • 感谢您的提示。输出 DTS 包非常简单 - 它们都以我使用导入/导出向导构建的导入或导出任务开始,我只是将它们保存为 DTS 包。我将检查使用迁移工具与编写新的等效包。再次感谢您提供的信息。
    【解决方案3】:

    只要安装了向后兼容性,DTS 包在 2008 年仍然可以照常运行。这是使用向导的upgrading 的链接。

    【讨论】:

    • 我同意这是一个很好的短期修复,但您确实需要开始将它们转移到 SSIS。制定您要转换的计划,如果您有任何理由调整现有软件包,请抓住机会转换它,即使它在计划之前。在 SSIS 中创建任何新包。
    【解决方案4】:

    我会推荐一个来自 Pragmatic Works 的名为 DTS xChange 的工具。它处理大部分迁移并帮助您继续工作。您将有其他机会在新事物上学习 SSIS,但您可能需要结束您的项目。可以在http://www.pragmaticworks.com下载

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多