您当前位置:优侠库 > 资讯攻略 >
来源:未知
2022-03-05 21:18:01 浏览: 分类:资讯攻略

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

1.SQLServer和Analysis Services之间排序规则的差异。

通常,数据库管理员可以分别为数据库引擎和Analysis Services设置排序规则。例如,在SQLServer2008 server中,数据库引擎支持两组排序规则,即Windows排序规则和SQLServer排序规则。默认情况下,如果SQLServre数据库服务器部署在英语环境中,它将采用SQLServer的排序规则。但是,如果采用其他版本的数据库系统,比如在中文环境下部署的中文版本的数据库系统,这个排序规则将采用Windows排序规则,即具体的排序规则将由数据库服务器操作系统的区域设置决定。至于Analysis Services服务,它支持一组排序规则,即Windows排序规则。尽管如此,数据库管理员可以在数据库安装期间为这两台服务器配置不同的排序规则。例如,SQLServer采用SQLServer排序规则,而Analysis Services采用Windows排序规则。这在技术上是允许的。但是这样会造成一些不良后果。因为两者的排序规则不一样,很有可能因为排序规则不一样,所以显示的结果也不一样。在为此规划数据库应用时,如果需要同时安装两个应用服务,作者的建议是在安装SQLServer数据库时为这两个服务设置相同的排序规则。因为Analysis Services只支持Windows排序规则,所以两者都需要同时采用Windows排序规则。确保数据库引擎和Analysis Services之间显示结果的一致性。

需要强调的是,这是一个灵活的规则。也就是说,即使两个应用服务同时部署,采用不同的排序规则,技术上也不会有问题。主要看用户能否接受两个服务的展示结构不一致。如果可以接受,那么就不需要遵守这个规则,可以从性能或者其他方面综合考虑采用的排序规则。但是,如果不可接受,则应严格遵守此规则,也就是说,应为两种服务都配置Windows排序规则。

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

在满足上述基本原则后,数据库管理员需要综合考虑用户需求和数据库性能要求,最终决定要采用的排序规则。这很难,但以下规则可供数据库管理员参考。

参考规则1:二进制排序规则可用。最好使用二进制排序规则。

由于二进制排序处理简单,如果采用它,可以大大提高数据库的性能。特别是如果数据库本身以二进制的形式存储数据,那么在使用二进制规则排序时,相对来说要比其他排序规则更快。而且,不受语言影响。所以在数据库部署中,如果可以使用二进制排序规则,尽量使用二进制排序规则。或者说,这是数据库管理员的首选。除非这个二元排序规则与用户的需求冲突,或者与其他难以调和的需求冲突,否则会采用其他排序规则。尤其是对数据库性能要求高的时候,这个二进制是首选。

但并不意味着使用二进制在任何情况下都会有好的效果。例如,在数据库中,既有以二进制存储的数据,也有以其他格式存储的数据。比如SQLServer数据库中的字符数据可以分为nchar(二进制格式数据)和char(ANSI格式字符数据)。如果采用二进制排序规则,那么对于这两种不同类型的数据采用不同的处理规则。因此,即使两个表中的记录相同,由于字符格式不同,最终结果也可能不同。所以在这种情况下,数据库管理员要想尽一切办法统一字符集,从而达到统一排序结果的目的。数据库管理员需要向用户确认是否允许这种不同的排序结果。如果允许,那么采用二进制排序是没有问题的。但是,如果不允许,可以放弃二进制排序规则,需要采用SQLServer等其他排序规则。

参考规则2:适用于采用Windows排序规则的情况。

通常,当满足以上三个条件中的任何一个时,Windows排序规则都是合适的。

是文章开头提到的基本原理。即在数据库部署中,既有分析服务,又有数据库引擎(数据库引擎是必须的,而分析服务是可选的),同时,它们的排序结果之间也不存在不一致的情况。此时最好采用Windows排序规则。原因很简单,因为Analysis Services只支持Windows排序规则。为了保证整理结果的一致性,还需要将数据库引擎的整理结果设置为Windows整理。

第二,当数据库中同时存在nchar/nvarchar(二进制格式数据)和char/varchar(ANSI格式数据)时,在应用中可能需要混合使用。在这种情况下,最好采用Windwos排序规则来对各种数据类型进行一致的比较。如果采用二进制排序或SQLServer排序,由于它们在比较这些不同的数据类型时会采用不同的机制,所以往往会有不同的排序结果。在混合使用的情况下,最好采用Windows排序来统一最终的排序结果。

第三,当应用程序中只使用char/varchar数据类型,而应用程序的SQL语句中很少使用Like操作符号时,可以考虑使用Windows排序规则。这时可以最大程度的消除排序结果的差异。

在考虑是否需要采用Windows排序规则时,只需要检查上述三个规则。如果它可以被放置,那么使用这个Windows排序规则。如果不能坐对位置,可以考虑采用其他排序规则。

参考规则3:适用于采用SQLServer排序规则的情况。

SQLServer的排序规则在什么情况下更适用?或许这个问题的答案是,丈母娘说丈母娘有理,公说公有理。很难有统一的答案。笔者认为采用SQLServer排序规则有利有弊。数据库管理员需要一个利弊平衡点来平衡各方面的需求。

我们之所以考虑采用SQLServer排序规则,最大的好处是可以提高像。也就是说,如果在查询语句中使用Like等相似关键字,同时使用Order BY collation子句,如果采用SQLServer排序规则,那么性能会高于其他排序规则。而且符合条件的记录越多,排序效果就会越好。因此,当数据库设计需要更多的Like操作符,数据库管理员需要提高数据库性能时,就需要考虑是否采用这种SQLServer排序规则。注意,如果在Where语句中使用了这个Like操作符,并且对这个操作符涉及的字段进行了索引,那么查询效果并不会因为这个索引而有太大的提升。也就是说,Like、indexes等相似算子之间的合作,并不能达到1+1大于2的效果,有时甚至会产生负作用。此时,如果更改这个排序规则,将会产生索引所不能产生的效果。

但是,采用SQLServer排序规则有很多缺陷。最大的缺陷是数据库的排序规则与操作系统或其他应用程序的排序结果不一致。例如,数据库现在采用SQLServer排序规则,对一个表进行排序。然后,该表被导入到excel表中,并根据相同的规则重新排序。此时,两个表记录的显示顺序可能不同。这主要是因为地区设置不同。如果采用SQLServer的排序规则,这种情况是无法避免的。除非企业中的所有计算机和数据库系统都采用英文环境,并配置相同的区域设置。因此,只有当用户可以允许数据库系统与操作系统或其他应用程序的排序结果不一致时,才能使用这种SQLServer排序规则。或者,如果数据库管理员与Windows排序规则中语言比较的语义无关,同时Like运算符不多,可以考虑采用SQLServer排序规则。

从上面的分析可以看出,在考虑采用什么排序规则时,主要考虑两个因素,一是排序结果,二是服务器的性能。也就是说,用户是选择数据库服务器和其他应用之间排序结果的一致性,还是选择提高服务器的性能。据数据管理员介绍,确认这个问题后,我们就可以做出符合用户需求的判断。

关键词:SQL Server 2008,服务

优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。

本文链接:http://www.123down.cn/gonglue/227392.html

攻略资讯
安卓软件
安卓游戏