升级SQL Server 6.5
是的,我知道。在2008年存在一个运行副本SQL Server 6.5
是荒谬的。升级SQL Server 6.5
规定,从6.5
迁移到2005
的最佳方法是什么?有没有直接的路径?我找到的大多数文档都涉及将6.5
升级到7
。
我应该忘记升级实用程序的原生SQL Server
,脚本化所有对象和数据,并尝试从头重新创建?
本周我将尝试升级,但服务器问题将其推回到下一个版本。所以,任何想法在本周的过程中都会受到欢迎。
更新。这是我如何做到的:
- 备份有问题的数据库和master。
- 执行
SQL Server 2000
的instcat.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的企业管理器编写所有存储过程的脚本。
- 对
2005
数据库执行.sql
文件。几十个sprocs有问题使它们与2005
不兼容。主要是non-ANSI joins
和quoted identifier issues
。 - 更正了所有这些问题并重新执行了
.sql
文件。 - 重新创建
6.5
的登录2005
并给他们适当的权限。
纠正存储过程时有一些冲洗/重复(有数百个纠正),否则升级会变得很好。
能够使用Management Studio而不是Query Analyzer
和Enterprise Manager 6.5
是如此惊人的差异。在6.5 database
上花费20-30秒的一些报告查询现在在1-2秒内运行,没有任何修改,新的索引或任何内容。我并没有期待这种直接的改善。
嘿,我仍然陷在那个阵营里。我们必须支持的第三方应用程序最终将会达到2K5,所以我们几乎没有实现。但我感到你的痛苦8^D
这就是说,从我们从DBA听到的所有信息中,关键是首先将数据库转换为8.0格式,然后再转至2005年。我相信他们使用内置的迁移/升级工具。在6.5和8之间有一些很大的步骤。0比从6.5到2005直接更好地解决。
如果您还不知道,那么您最大的痛苦就是DTS不再支持SSIS。有一个shell类型的模块可以运行你现有的DTS包,但是你想要在SSIS中手动重新创建它们。这很容易取决于包装本身的复杂程度,但迄今为止我已经完成了一些工作,并且非常流畅。
我绝不是权威,但我相信唯一支持的路径是从6.5到7.当然,这将是最健全的路线,那么我相信你可以从7直接迁移到2005年非常无痛。至于脚本化所有的对象 - 我会建议反对它,因为你将不可避免地错过某些东西(除非你的数据库是真正微不足道的)。
如果您可以找到专业或其他超级企业版本的Visual Studio 6.0 - 它附带了MSDE(基本上是SQL Express的前身)的副本。我相信MSDE 2000仍然可以从微软免费下载,但我不知道是否可以直接从6.5迁移到2000.
我认为在概念上,您不会面临任何危险。然而,多年的实践告诉我,您将永远错过一些不会立即表现出来的对象,许可或其他数据库项目。如果您可以编写整个转储文件,效果会更好。因为你不会错过任何东西 - 如果你错过了某些东西,它可以很容易地添加到脚本中并修复。我会避免任何手动步骤(除了一次点击输入键),就像瘟疫一样。
您可以将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版本。