开发/数据库

  |  手机版

收藏网站

投稿QQ:1745232315

IT专家网,汇聚专业声音 解析IT潮流 IT专家网,汇聚专业声音 解析IT潮流

网络

专家视点在现场环球瞭望
IT专家网 > 开发/数据库

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

作者:彭芬出处:IT专家网2009-07-24 04:00

  一、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之间显示结果的一致性。(利用配置文件来自动安装SQLServer2008

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

相关文章

关键词: 技巧

责任编辑:包春林

网警备案