由于当今的信息系统正朝着全面连接集成(如标准化和服务化)的方向发展,对数据处理的质量和数量的需求显着增加。据统计,30%的世界上的数据都存储在关系型数据库中,称为结构化数据,另外70%的数据以不同的格式存在,如XML、地理空间信息、图像多媒体数据、各种格式的文件(如Office、PDF)...等在硬件存储设备容量大幅增加但价格快速下降的今天,SQLServer2008期望将这些半结构化和非结构化数据包括在内,让所有的数据在同一个平台上一起被控制和维护,这样如统一的数据更新、安全权限、高可用性、检索、分析和报告等。一般来说,企业的数据增长速度每年1.5次,数据使用方式不断创新。这导致对数据平台的稳定性、安全性、效率、可扩展性、易管理、易开发、跨平台数据同步等方面的要求越来越严格。微软在2008年第三季度发布了SQLServer2008,全面强化了上述要求。不过,本文只讨论与执行效率相关的部分。在管理方面,策略化管理结合管理条件后,应用于服务器、数据库、数据表等,并定期检查或强制执行。设置在MicrosoftSQLServer2008FeaturePack(https://img.ydisp.cn/news/20220729/agvkwej33liServer。保证计算性能和分析性能数据收集分析和管理数据仓库:集中收集多个SQLServer服务器执行个人数据,如管理或性能信息(硬盘使用情况、查询统计、系统性能计数器等),并生成分析报告。使用向导创建SQLServer预定义数据,将系统数据单独存储在指定服务器上的仓库(datawarehouse),数据仓库是一个通用的数据库,个体服务器执行个体采集数据后,默认缓存到本地指定目录,然后批量添加到集中管理数据仓库里面。ResourceGovernor和资源管理:ResourceGovernor是SQLServer2008的一个新功能,它根据需求定义可以使用的CPU和内存资源,从而保证服务器的资源不会被小的过度使用。用户数量。设置不同的Pool/资源组,标准化组内可用的资源,比如CPU和Memory的比例。确保资源不会被某些程序耗尽而其他程序没有可用资源。仅企业版支持,以个人为单位执行。通过T-SQL编写的自定义函数,返回所属组名,将登录连接(connection)分配给之前定义的工作负载组,不以具体查询语法为单位,在自定义函数T-可以使用Host_Name、App_Name、SUSER_Name、Is_Member、ConnectionProperty等SQL默认函数定义业务逻辑,比如哪个应用建立连接,哪个可以使用高/低比资源。如果没有其他连接到第二组,单组设置不允许100%使用资源,但所有资源仍然可以使用,因为没有其他组按比例分配抢资源。这提高了系统稳定性,但没有为服务使用定价的机制。数据压缩在线数据压缩:对于数据表,有两种压缩方式,Row和Page。压缩数据虽然会消耗更多的CPU资源,但是提高了数据加载到内存和恢复到硬盘的效率。写入硬盘或传输到远程服务器或存储更快。如果压缩率好,会节省I/O时间,提高整体效率。还可以对备份内容进行压缩,以节省硬盘资源,压缩率与数据形式有关。数据库备份压缩内存备份的内容立即压缩,消耗CPU的计算能力,但写入硬盘或传输到远程存储速度更快。默认情况下,它是不启用的,但是镜像和日志传送会自动开始压缩事务记录。压缩率取决于数据形式以及数据库本身是压缩的还是加密的。只有企业版支持压缩,但压缩后的备份可以恢复到任何其他版本。Hot-AddCPU:服务器可以不停机直接增加CPU,SQLServer执行个体也可以立即使用CPU。开发方面,新增数据形式,日期和时间形式分离,增加date,time,datetime2,datetimeoffset等日期格式:时间和日期分离,使用"between...and...”获取时间间隔,datetimeoffset数据格式可以让你记录与时区相关的时间数据。此外,时间、datetime2、datetimeoffset等形式的数据长度可以更改,让您可以在准确性和节省空间之间进行选择。旧的时间函数可以使用新的数据类型,并提供了新的时间函数以获得更准确的时间。由于大部分应用的日期和时间是分开的,准确使用日期和时间类型可以节省存储空间,索引也更高效,通过T-SQL访问时可以省去不必要的格式化操作。对于新的索引结构,设置索引的过滤条件(FilteredIndex),为满足Where条件的值创建索引。比如在创建索引的时候,限制字段的值为NULL,那么为SparseColumn建立的索引数据量就会小很多。这样可以减少一般增删改查数据时维护索引数据带来的负载。因为索引建立在数据的一个子集上,整个数据量小,统计精度更高,所以对执行计划的解释会更准确。T-SQL新增Merge语法,兼容并扩展了ANSISQL2006的Merge定义,在比较源数据和目的数据后,可以用一个Merge语法同时完成增、改、删的动作.就像单句SQL语法自动包含在事务中一样,所有通过Merge语法更新的数据都包含在一个事务中,不像以前的DML语法需要明确定义事务,然后包含多句来改变数据.以前如果要同步两张数据表,一个同事可能要执行Insert、Delete、Update三句。两个数据表在Join中至少要比对3次,而Merge语法比对一次就可以完成各种更新动作。如果使用UPDATEFROMJOIN语法更改数据,如果源端对应目的端的记录多于两条,则无法猜测更新哪条记录,Merge语法会直接返回错误。SQLServer2008性能相关问题的讨论到此结束。希望对大家熟悉SQLServer2008有所帮助。【编者推荐】SQLServer2008性能数据采集器初探SQLServer2008安装安全审计使用SQLServer2008管理非结构化数据SQLServer2008数据挖掘概念
