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

也就是说,从以下位置迁移的最佳方式是什么? 6.52005?有直接路径吗?我找到的大多数文档都涉及升级 6.57.

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

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

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

  • 备份有问题的数据库并主控 6.5.
  • 执行 SQL Server 2000instcat.sql 反对 6.5的师父。这允许 SQL Server 2000要连接到的 OLEDB 提供程序 6.5.
  • 使用 SQL Server 2000是独立的 "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 AnalyzerEnterprise Manager 6.5 真是一个惊人的差异。一些报告查询花费了 20-30 秒 6.5 database 现在运行时间为 1-2 秒,没有任何修改、新索引或任何东西。我没想到会立即得到改善。

有帮助吗?

解决方案

嘿,我也还被困在那个营地里。我们必须支持的第三方应用程序终于要到 2K5 了,所以我们快要出局了。但我感受到你的痛苦 8^D

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

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

其他提示

您可以将 6.5 升级到 SQL Server 2000。您可能会更容易掌握 SQL Server 或 2000 版本的 MSDE。微软有一个页面 从 6.5 到 2000. 。一旦您拥有 2000 格式的数据库,SQL Server 2005 就可以毫无问题地将其升级到 2005 格式。

如果您没有 SQL Server 2000,您可以 下载 MSDE 2000 直接来自微软的版本。

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top