40

是的,我知道。2008 年的运行副本的存在SQL Server 6.5是荒谬的。

6.5那规定,从 迁移到的最佳方式是2005什么?有没有直接的路径?我发现的大多数文档都涉及升级6.57.

我是否应该忘记本机SQL Server升级实用程序,编写所有对象和数据的脚本,然后尝试从头开始重新创建?

我打算在这个周末尝试升级,但服务器问题将其推迟到下一个。因此,任何想法都会在一周内受到欢迎。

更新。这就是我最终这样做的方式:

  • 备份有问题的数据库并在6.5.
  • SQL Server 2000对Master执行instcat.sql6.5这允许SQL Server 2000OLEDB 提供程序连接到6.5.
  • 使用SQL Server 2000'sstandalone"Import and Export Data"创建 DTS 包,OLEDB用于连接 6.5。这成功地将所有的表复制6.5到一个新的2005数据库中(也使用OLEDB)。
  • 使用6.5的企业管理器将所有数据库的索引和触发器脚本化为 .sql 文件。
  • 在 2005 年的 Management Studio 中针对数据库的新副本执行该 .sql 文件。
  • 使用 6.5 的企业管理器编写所有存储过程的脚本。
  • .sql针对2005数据库执行该文件。几十个存储过程存在问题,使它们与2005. 主要是non-ANSI joinsquoted identifier issues
  • 更正了所有这些问题并重新执行了.sql文件。
  • 重新创建了6.5的登录名2005并授予他们适当的权限。

更正存储过程时有一些冲洗/重复(有数百个需要更正),但升级效果很好。

能够使用 Management Studio 而不是Query AnalyzerandEnterprise Manager 6.5是一个如此惊人的区别。一些需要 20-30 秒的报表查询6.5 database现在在 1-2 秒内运行,无需任何修改、新索引或任何东西。我没想到会有这种立竿见影的改善。

4

4 回答 4

11

嘿,我也仍然被困在那个营地。我们必须支持的第三方应用程序最终会进入 2K5,所以我们几乎已经完蛋了。但我能感觉到你的痛苦 8^D

也就是说,从我从我们的 DBA 那里听到的一切,关键是先将数据库转换为 8.0 格式,然后转到 2005。我相信他们为此使用了内置的迁移/升级工具。在 6.5 和 8.0 之间有一些大步骤比直接从 6.5 到 2005 解决得更好。

如果您还不知道的话,您最大的痛苦是 DTS 已被 SSIS 取代。有一个 shell 类型的模块可以运行您现有的 DTS 包,但您需要在 SSIS 中手动重新创建它们。这是否容易取决于包本身的复杂性,但到目前为止我已经完成了一些工作并且它们非常顺利。

于 2008-08-01T19:34:49.067 回答
6

您可以将 6.5 升级到 SQL Server 2000。您可能更容易获得 SQL Server 或 2000 版的 MSDE。微软有一个关于从 6.5 到 2000的页面。一旦有了 2000 格式的数据库,SQL Server 2005 就可以轻松地将其升级到 2005 格式。

如果您没有 SQL Server 2000,您可以直接从 Microsoft下载 MSDE 2000版本。

于 2008-08-04T01:29:18.307 回答
3

我绝不是权威,但我相信唯一受支持的路径是从 6.5 到 7。当然那将是最理智的路线,那么我相信您可以轻松地从 7 直接迁移到 2005。

至于编写所有对象的脚本 - 我建议不要这样做,因为您将不可避免地错过一些东西(除非您的数据库真的很琐碎)。

于 2008-08-03T23:56:54.077 回答
3

如果你能找到 Visual Studio 6.0 的专业版或其他一些超级企业版——它附带了一份MSDE(基本上是 SQL Express 的前身)。我相信 MSDE 2000 仍然可以从 Microsoft 免费下载,但我不知道您是否可以直接从 6.5 迁移到 2000。

我认为从概念上讲,您不太可能面临任何危险。然而,多年的实践告诉我,您总是会错过一些不会立即显现的对象、权限或其他数据库项目。如果您可以编写整个转储脚本,那就更好了。因为您不太可能错过某些东西 - 如果您确实错过了某些东西,它可以很容易地添加到脚本中并修复。我会避免像瘟疫一样的任何手动步骤(除了按一次回车键)。

于 2008-08-04T00:23:55.690 回答