关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL Server »SQL Server 2008服务器安装设置向导

    SQL Server 2008服务器安装设置向导

    2015-09-22 00:00:00 出处:ITJS
    分享

    一、SQLServer与Analysis Services排序规则的差异。

    通常情况下数据库管理员可以分别为数据库引擎和Analysis Services分别设置排序规则。如在SQLServer2008服务器中,数据库引擎支持两组排序规则,分别为Windows排序规则与SQLServer服务器排序规则。默认情况下,假如在英文环境下部署SQLServre数据库服务器的话,则其采用的是SQLServer排序规则。而假如采用其他版本的数据库系统,如在中文环境下部署中文版本的数据库系统,则这个排序规则就采用的是Windows排序规则,即由数据库服务器操作系统的区域设置来决定具体的排序规则。而对于Analysis Services服务来说,其支持一组排序规则,即Windows排序规则。虽然说,数据库管理员在数据库安装过程中,可以为这两个服务器配置不同的排序规则。如SQLServer采用SQLServer排序规则,而Analysis Services采用Windows排序规则。这在技术上是允许的。但是这会造成一些不利的后果。由于两者的排序规则不同,那么最后显示的结果很有可能因为排序规则的不同,而导致显示内容的不同。为此在规划数据库应用的时候,假如需要同时安装这个两个应用服务,那么笔者的建议是在安装SQLServer数据库时,为这个两个服务设置相同的排序规则。由于Analysis Services只支持Windows排序规则,为此两者都需要同时采用Windows排序规则。以确保数据库引擎与Analysis Services之间显示结果的一致性。

    需要强调的是,这是一个柔性的规则。即即使同时部署这两个应用服务,而他们采用不同的排序规则,在技术上来说是不会遇到问题的。主要是看用户能否接受两个服务显示结构的不一致。假如可以接受的话,那么就不需要遵守这个规则,可以从性能或者其他方面来综合考虑所采用的排序规则。但是假如不可以接受的话,那么就需要严格遵守这一规则,即为两个服务都配置Windows排序规则。

    二、决定排序规则的一些参考。

    在符合上面这个基本的原则后,数据库管理员就需要结合用户的需求与数据库性能方面的要求,来综合考虑,最后决定需要采用的排序规则。这具有一定的难度,不过下面的这些规则数据库管理员可以拿来参考。

    参考规则一:能用二进制排序规则最好使用二进制排序规则。

    二进制排序规则由于其处理简单,为此假如采用二进制排序规则的话,可以在很大程度上提升数据库的性能。特别是假如数据库中本身就是以二进制的形式来存储数据,那么在利用二进制规则来排序的时候,相对来说,要比其他的排序规则速度更加的快。而且其也不怎么会受到语言的影响。所以,在数据库部署中,能够使用二进制排序规则,就尽量使用二进制排序规则。或者说,这是数据库管理员首选的选择。除非这个二进制排序规则与用户的需求相矛盾,或者跟其他需求有难以调和的冲突时,才采用其他的排序规则。特别是对于数据库性能有比较高的要求时,这个二进制是一个首要的选择。(IT专家网独家:合理配置二进制排序规则)

    但是并不是说在任何情况下采用二进制都会起到不错的效果。如在数据库中,既有二进制存储的数据,又有其他格式存储的数据。如字符型的数据,在SQLServer数据库中分为nchar(二进制格式的数据)与char(ANSI格式的字符数据)两种。假如采用二进制排序规则,对这两种不同类型的数据采用的是不同的处理规则。为此即使两张表中的记录完全相同,但是其采用的字符格式不同,其最后的结果也有可能会不同。所以在遇到这种情况时,数据库管理员要么想方设法统一字符集,以达到统一排序结果的目的。要么数据库管理员就需要向用户确认,是否允许这个不同排序结果的存在。假如允许的话,那么采用二进制排序规则没有问题。但是假如不允许的话,那么之能够放弃采用二进制排序规则,而需要采用SQLServer等其他的排序规则。

    参考规则二:适合采用Windows排序规则的情况。

    一般满足以上三个条件的任何一个条件的情况下,适合采用Windows排序规则。

    一是文章一开头提到的那个基本原则。即在数据库部署中同时存在Analysis Services与数据库引擎(数据库引擎是必须的,而Analysis Services是可选的),同时又不允许他们排序结果不一致的情况存在。此时最好能够采用Windows排序规则。原因很简单,因为Analysis Services只支持Windows排序规则,为了确保排序结果的一致性,也需要将数据库引擎的排序结果设置为Windows排序规则。

    二是在数据库中同时存在nchar/nvarchar(二进制格式的数据)与char/varchar(ANSI格式的数据)的情况下,而且在应用程序中可能需要混合使用他们。在这种情况下最好采用Windwos排序规则,以便在各个数据类型之间进行一致的比较。假如采用二进制排序规则或者SQLServer排序规则,由于他们对这些不同的数据类型比较时会采用不同的机制,为此往往会有不同的排序结果。在遇到这种混合使用的情况,最好采用的是Windows排序规则,以统一最后的排序结果。

    三是在应用程序中只使用char/varchar数据类型,并且在应用程序的SQL语句中,很少使用Like操作符号时,可以考虑采用Windows排序规则。此时可以在最大程度上消除排序结果的不同。

    在考虑是否需要采用Windows排序规则的时候,只需要对以上的三条规则对号入座即可。假如可以对号入座的,那么就采用这个Windows排序规则。假如不能够对号入座的,那就考虑采用其他的排序规则。

    参考规则三:适合采用SQLServer排序规则的情况。

    在什么情况下比较适用SQLServer排序规则呢 或许这个问题回答起来,婆说婆有理,公说公有理。很难有一个统一的答案。笔者认为,采用SQLServer排序规则,即有利,也有弊。数据库管理员需要在这个利与弊之间旬的一个均衡点,以平衡各方面的需求。

    之所以考虑采用SQLServer排序规则,笔者认为最大的好处就是可以提高LIKE等操作符的执行性能。也就是说,假如在查询语句中使用了Like等类似的关键字,而且同时使用了Order BY排序子句时,假如采用SQLServer排序规则的话,那么性能会比其他排序规则要高。而且满足条件的记录越多,这个排序效果会越好。所以,在数据库设计中需要用到比较多的Like操作符,而且数据库管理员又需要提升数据库性能的时候,那么就需要考虑是否需要采用这个SQLServer排序规则。注意假如在Where语句中使用了这个Like操作符,而且这个操作符所涉及到的字段设置了索引,其查询效果并不会因为有了这个索引而提高多少。也就是说,Like等类似的操作符与索引之间的配合,并不能够起到1+1大于2的效果,有时候甚至会起到反面效果。此时,假如更改这个排序规则,反而可以起到索引不能够起到的效果。

    不过采用SQLServer排序规则也有很多的缺陷。最大的缺陷就是数据库的排序规则与操作系统或者其他应用程序的排序结果不一致。如现在数据库中采用的是SQLServer排序规则,对某张表进行了排序。然后将这张表导入导了Excel表格中,并对其按相同的规则进行重新排序。此时两张表记录的显示顺序可能是不同的。这主要要是因为区域设置的不同而造成的。假如采用SQLServer排序规则的话,这种情况无法避免。除非企业中所有的电脑、数据库系统都采用英文环境,并且配置相同的区域设置。为此,只有用户可以允许数据库系统与操作系统或者其他应用程序排序结果的不一致性的情况下,可以使用这个SQLServer排序规则。或者说,数据库管理员不关系Windows排序规则中的语言比较语义的情况下,同时又存在不较多的Like操作符时,可以考虑采用SQLServer排序规则。

    在以上的分析中可以看出,在考虑采用什么样的排序规则时,主要考虑的是两个方面的因素,一是排序的结果,二是服务器的性能。也就是说,用户是选择在数据库服务器与其它应用程序之间排序结果的一致性,还是选择提升服务器的性能。数据据管理员确认完这个问题之后,那么就可以做出符合用户需求的判断了。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    帝国CMS7.5编辑器上传图片取消宽高的三种方法

    帝国cms如何自动生成缩略图的实现方法

    Windows 12即将到来,将彻底改变人机交互

    帝国CMS 7.5忘记登陆账号密码怎么办?可以phpmyadmin中重置管理员密码

    帝国CMS 7.5 后台编辑器换行,修改回车键br换行为p标签

    Windows 11 版本与 Windows 10比较,新功能一览

    Windows 11激活产品密钥收集及专业版激活方法

    IT头条

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    严重缩水!NVIDIA将推中国特供RTX 5090 DD:只剩24GB显存

    00:17

    无线路由大厂 TP-Link突然大裁员:补偿N+3

    02:39

    Meta 千万美金招募AI高级人才

    00:22

    技术热点

    微软已修复windows 7/windows 8.1媒体中心严重漏洞 用户可下载安

    卸载MySQL数据库,用rpm如何实现

    windows 7中使用网上银行或支付宝支付时总是打不开支付页面

    一致性哈希算法原理设计

    MySQL数字类型中的三种常用种类

    如何解决SQL Server中传入select语句in范围参数

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。