sql server 2008和2000有什么区别?
sql server 2008 功能特色
1、新的FORCESCAN查询提示
任何DBA在进行查询优化的时候,都知道scan和seek之间的区别。Scan是指读取表中每一行数据然后返回查询;而seek使用表的叶数据来找到能够回答相同查询的行。当查询结果仅涉及到表数据的10-15%时,通常使用seek方式会比较好,当涉及到大量数据时则使用scan,它会读取整个表然后送到内存中然后返回结果,无需分析索引。
①新的FORCESCAN提示功能就和字面上的意思一样,可以确保查询优化器在给定的操作中不使用seek,而强制使用scan。需要提醒的是,FORCESCAN需要谨慎使用,否则会造成查询性能降低的后果。
②SELECT user_type FROM user_table WITH (FORCESCAN)
上面的语句假定user_type列相对来说并不是独一无二的,也就是所谓的“低基数”列,这时候使用FORCESCAN就和使用索引没有太大差别。
③随着SQL Server查询优化器变得越来越强大,我在自己的程序中已经很少会用到这种提示功能,但是FORCESCAN还是有它的用武之处。强制表扫描是对系统进行拷问测试的一种方法,FORCESCAN在这方面将会发挥积极的作用。
2、FORCESEEK查询提示的新功能
①FORCESEEK和FORCESCAN二者是截然相反的,它会强制数据库使用seek。在之前的版本中也存在这一功能,但是在SQL Server 2008 R2 SP1中,DBA可以使用FORCESEEK来指定需要seek的索引或者列:
②SELECT user_name FROM user_table
③WITH (FORCESEEK(user_table_index(user_name))
④如果你能够想到的,在user_table上有一个索引叫做user_table_index,它将user_name作为其中的一列。这会强制查询优化器使用这个索引和列来进行seek。你还可以seek多个列,但是这需要按照它们在索引中的位置顺序来指明出来。
⑤一个可能的应用场景:你创建了一个系统,其中生成索引后你想要手动进行详细的说明,或者是用存储过程以及内嵌SQL语句来自动生成。
3、新的系统对象
①每当SQL Server有版本更新的时候,都会出现一些新的系统对象,用户每次都将它们挖掘出来然后记录到文档当中。下面就是SQL Server 2008 R2 SP1中一些新的系统对象。
②sys.dm_os_volume_stats:当进行查询的时候,这个动态管理函数将返回存储数据库文件的磁盘信息。比如磁盘上还有多少可用空间,这个卷是否支持压缩。
③sys.dm_os_windows_info:返回SQL Server运行的操作系统信息(哪个版本的Windows),其中包括了修订级别以及操作系统语言等。
④sys.dm_server_registry:返回现安装的SQL Server相关注册信息。
⑤sys.dm_server_services:返回SQL Server正在运行的服务状态,包括上次启动时间、服务是否运行在集群实例上等。
4、支持仿真(512e)硬盘
存储市场中目前正涌现出新的硬盘驱动器,其中之一就是使用所谓的“512e”格式的硬盘,仿真硬盘运用磁盘的4K扇区,但是在界面上模拟一个512字节的扇区硬盘。在TechTarget之前关于仿真硬盘对Windows Server影响的报道中,作者已经将该硬盘称为先进格式硬盘,而且它对于提升SQL Server这样应用性能方面有很大的优势。因此,微软在SP1中添加了对仿真硬盘的支持,它可以让Windows Server 2008 R2运行更好。
5、数据层应用组件架构(DAC Fx)
数据库架构管理是让每个DBA头痛的事情,但是SQL Server在这方面提供了不错的帮助。数据层应用组件(DAC)就是这样的一个工具:它让数据层对象(基本上就是数据库中所有的东西)写入和部署变得轻松起来。SP1包括了一个新的DAC Fx和DAC升级向导,这两个工具可以帮助SQL Server现有数据库架构进行升级,而且还支持微软新的云数据库平台SQL Azure。
6、SharePoint PowerPivot磁盘空间控制
①微软PowerPivot数据往往会缓存在SharePoint中,但是DBA还是无法对缓存机制有一个比较直接的控制。SQL Server 2008 R2 SP1可以让DBA控制不活跃数据库在内存中缓存的时间,并对PowerPivot文件进行磁盘清理。如果你的系统中只有少量的PowerPivot数据,而且更改很少,你希望它能够长时间缓存在内存中,那么新的磁盘空间控制功能将会非常有帮助。
②通过sys.sp_db_increased_partitions存储过程将一个表分成15000个分区。
③sys.sp_db_increased_partitions存储过程可以使DBA能够针对一个特定的表设定increased_partitions。在之前的SQL Server版本中,DBA最多能够分成1000个分区,而新的SP1中最多则可以达到15000个分区。这是非常大的一个改进。
sql server 2000 功能特色
1、多实例支持能力
sql2000桌面版最多可在单台计算机上同时支持16个数据库服务器实例。
2、Osql.exe
osql实用工具是Microsoft所提供的一种用于临时以交互方式执行Transact-SQL语句或脚本程序的Win32命令行工具。借助这种实用工具,您将可以在一种类似于命令提示行的工作环境中以交互式方式输入Transact-SQL语句。相应语句所生成的结果集也将在命令行窗口中加以显示。
3、复制功能
sql2000桌面版同时支持以发布者及订阅者身份所进行的合并复制操作,从而使您得以在多个站点(某些情况下可能会覆盖数以百计的站点)上同时维护相同数据的多份拷贝。此外,sql2000桌面版还支持其它形式的复制操作,但其只能提供范围有限的功能。例如,MSDE 2000只能在订阅者环境中参与事务化复制和快照复制操作。
4、性能
sql2000桌面版是一种可共享的本地化数据引擎。它拥有一种能够为达到性能优化目的而将最大并行批处理工作负载数量控制在5个以内的可管理并行工作负载控制机制。相关命令与日志记录可对实例进行监控,以避免出现并行执行工作负载数量超过5个的情况,在这种情况下,即便是配置良好的系统,也会产生明显的性能下降。当并行执行的工作负载数量超过5个时,如果再有批处理工作负载被提交上来,并行控制机制将不断减慢系统运行速度。这些工作负载既不会被取消,也不会自己丢失;他们仍将在一种不断下降的性能模式中得到处理。如果您的解决方案必须支持5个以上的并行工作负载,那么,我们强烈建议您移植到SQL Server 2000或SQL Server 2000企业版,以便获得具备更高伸缩能力的最佳优化性能。
5、最大数据库规模
sql2000桌面版最多可为每个数据库提供2 GB存储空间。这一限制条件是以数据库而非服务器为单位的。每台计算机可支持多个sql2000桌面版实例,其中每个实例为数据库所提供的存储空间之和不得超过2 GB。
6、数据转换服务
sql2000桌面版有能力运行数据转换服务(DTS)软件包。然而,由于其并未配备相应的DTS设计器,因此,它将无法设计DTS软件包。
7、远程管理功能
sql2000桌面版同时支持本地管理与远程管理方式。然而,由于相关事务可能在不同服务器之间交替产生,因此,sql2000桌面版将无法在多服务器运行环境中实现远程管理。