2008-08-01 104 views
29

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

规定,从6.5迁移到2005的最佳方法是什么?有没有直接的路径?我找到的大多数文档都涉及将6.5升级到7

我应该忘记升级实用程序的原生SQL Server,脚本化所有对象和数据,并尝试从头重新创建?

本周我将尝试升级,但服务器问题将其推回到下一个版本。所以,任何想法在本周的过程中都会受到欢迎。

更新。这是我如何做到的:

  • 备份有问题的数据库和master。
  • 执行SQL Server 2000instcat.sql6.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的企业管理器编写所有存储过程的脚本。
  • 2005数据库执行.sql文件。几十个sprocs有问题使它们与2005不兼容。主要是non-ANSI joinsquoted identifier issues
  • 更正了所有这些问题并重新执行了.sql文件。
  • 重新创建6.5的登录2005并给他们适当的权限。

纠正存储过程时有一些冲洗/重复(有数百个纠正),否则升级会变得很好。

能够使用Management Studio而不是Query AnalyzerEnterprise Manager 6.5是如此惊人的差异。在6.5 database上花费20-30秒的一些报告查询现在在1-2秒内运行,没有任何修改,新的索引或任何内容。我并没有期待这种直接的改善。

回答

8

嘿,我仍然陷在那个阵营里。我们必须支持的第三方应用程序最终将会达到2K5,所以我们几乎没有实现。但我感到你的痛苦8^D

这就是说,从我们从DBA听到的所有信息中,关键是首先将数据库转换为8.0格式,然后再转至2005年。我相信他们使用内置的迁移/升级工具。在6.5和8之间有一些很大的步骤。0比从6.5到2005直接更好地解决。

如果您还不知道,那么您最大的痛苦就是DTS不再支持SSIS。有一个shell类型的模块可以运行你现有的DTS包,但是你想要在SSIS中手动重新创建它们。这很容易取决于包装本身的复杂程度,但迄今为止我已经完成了一些工作,并且非常流畅。

2

我绝不是权威,但我相信唯一支持的路径是从6.5到7.当然,这将是最健全的路线,那么我相信你可以从7直接迁移到2005年非常无痛。至于脚本化所有的对象 - 我会建议反对它,因为你将不可避免地错过某些东西(除非你的数据库是真正微不足道的)。

2

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

我认为在概念上,您不会面临任何危险。然而,多年的实践告诉我,您将永远错过一些不会立即表现出来的对象,许可或其他数据库项目。如果您可以编写整个转储文件,效果会更好。因为你不会错过任何东西 - 如果你错过了某些东西,它可以很容易地添加到脚本中并修复。我会避免任何手动步骤(除了一次点击输入键),就像瘟疫一样。

3

您可以将6.5升级到SQL Server 2000.您可能更容易获得SQL Server或MSDE的2000版本。微软在going from 6.5 to 2000上有一个页面。一旦拥有2000格式的数据库,SQL Server 2005将无法将其升级到2005格式。

如果你没有SQL Server 2000,你可以直接从微软的download the MSDE 2000版本。