3

我们的一位客户正在升级他们的服务器,因为旧机器无法再处理数据库的负载。在过去的 6 年中,他们一直在使用 sql 2000,并且数据库已经增长到可以容纳几 GB 的数据。

是否值得升级到 2005 年或 2008 年?与 2000 相比,新版本的主要优势是什么?

4

9 回答 9

4

除了 Galwegian 提到的 CLR 集成之外,对我来说主要的优点是:

另一个需要注意的区别是,您在 Sql 2005 中使用的不是 DTS 包,而是使用Integration Services,虽然类似但完全不同。

于 2008-12-01T10:48:51.303 回答
4

根据您使用的 SQL Server 版本,SQL 2005 的硬件限制/上限比 SQL2k 中的相应版本要少。

例如,SQL 2000 标准版不会使用超过 2Gb(实际上是 1.7Gb),而 SQL 2005 标准版没有上限(最多允许 OS 最大值)。

请参阅:http: //msdn.microsoft.com/en-us/library/aa933149 (SQL.80).aspx

...和...

http://www.microsoft.com/sqlserver/2005/en/us/compare-features.aspx

所以:如果您正在运行标准版 + 您的 SQL Server 2000 实例当前使用 ~1.6Gb RAM + 您的服务器有 3Gb 或更多物理 RAM,那么可能值得升级只是因为内存使用量增加带来的好处......(更多缓存表数据、索引、计划等)

于 2008-12-01T10:55:41.603 回答
3

如果您打算从 SqlServer 2000 升级,我会跳过 2005 年直接转到 SqlServer 2008

它具有 2005 的所有功能以及一些附加功能(例如,将表变量作为参数传递给存储过程的选项、新的日期类型、空间数据处理等)

您可以参考MS SQL Server 2008 相对于 MS SQL Server 2005 的优势问题以获取完整的功能列表

编辑

我可以看到问题已更新,现在 SqlServer 2008 已包含在问题中。

于 2008-12-01T11:04:59.790 回答
3

MS SQL 2005 和 2008 有很多大肆宣传的技术,其中之一就是能够将 CLR 代码填充到存储过程中。不要这样做

另一个“功能”是再次将您的数据库公开为 WebServices 的能力;不要这样做!

第三个特性是能够再次使用来自数据库和应用层的“通知”;不要这样做......!

您的数据库是一个存储桶,它应该“存储数据”,句号。微软在 2005 年和 2008 年推出的许多功能我确信他们确实做到了,因为他们想使 O/RM 库的使用复杂化,从而抽象出实际的数据库供应商,以便人们可以根据需要更改数据库。然后通过添加许多“愚蠢的功能”,这些“愚蠢的功能”违背了我们自 70 年代以来了解的关于数据库的每一个最佳实践,他们设法创建了一个新的锁定,通过让人们使用他们真正不应该使用的东西来消除供应商锁定随便用...

其中一部分可能在 2005 年和 2008 年有很多很酷的功能(就像这里提到的;支持!)以及优化、错误修复等。但要小心,不要开始使用会影响您的应用程序并使其无法使用最佳实践并锁定您的东西...... :(

于 2008-12-01T12:20:16.207 回答
2

老实说,主要好处是CLR 集成- 它允许您在编码数据库的方式上更加灵活,让您可以选择在过程中包含过程 C# 或 VB.NET,而不是基于集合的 T-SQL。

于 2008-12-01T10:40:30.587 回答
1

有一些有用的新功能,例如服务代理,但在性能方面,您不会看到从 2000 年到 2005 年的巨大改进。a) 调整数据库和 b) 投资会更好在新硬件中。

于 2008-12-01T10:47:52.740 回答
1

用户和模式的分离是另一个好处。在 SQL 2005 中,如果您希望通过逻辑/功能区域或类似区域而不是数据库中的用户来分离模式,您可以创建诸如“hr”、“sales”、“accounting”、“production”之类的模式,然后创建用户表在各自的架构下。

在 SQL 2000 中,模式名称与表所有者/创建者相同。

于 2008-12-01T11:06:22.300 回答
1

我认为 Microsoft 不再支持 SQL Server 2000。如果我错了,很快就会...

于 2008-12-01T11:26:40.323 回答
0

在线索引重建是一个不错的功能。我认为它可能只是企业版中的一个选项。

于 2008-12-01T10:56:28.933 回答