首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server排序规则默认为US/English -最佳实践

SQL Server排序规则默认为US/English -最佳实践
EN

Stack Overflow用户
提问于 2022-09-08 16:41:21
回答 2查看 134关注 0票数 2

简要说明:作为美国/英国地区的Windows,是否值得在新的SQL server构建上将Latin1_General_CI_AS设置为系统级默认设置,还是在可预见的将来继续使用SQL_Latin1_General_CP1_CI_AS默认值更明智?我们认为MS最终会使Latin1_General_CI_AS成为美国的默认产品吗?

更多背景:

https://learn.microsoft.com/en-us/sql/relational-databases/collations/collation-and-unicode-support?view=sql-server-ver16#Server-level-collations

按照微软的说法,如果您的Windows是任何讲英语的国家(美国除外),安装期间默认的server排序规则是:Latin1_General_CI_AS,但在美国,为了向后兼容性,它仍然是SQL_Latin1_General_CP1_CI_AS。新数据库默认采用系统排序规则(除非您重写),等等.

我们在自己的SQL server构建中保留了SQL_Latin1_General_CP1_CI_AS作为缺省值,我们的内部数据库也使用了相同的排序规则。我们刚刚收到了来自第三方的第一个带有Latin1_General_CI_AS的数据库,这让我怀疑我们是否应该支持“更新”的排序方式,特别是如果我们在同一个环境中交叉连接或在数据库之间交互的话。

我知道我们可以整理不同数据库之间连接的命令,但我很好奇,人们是否会先发制人地将Latin1_General_CI_AS配置为他们在美国英语语言环境中的服务器级默认设置,以便更好地与其他国家的人兼容,或者在未来的Windows中领先于微软一方的任何可能的“最终支点”。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-08 17:03:18

简要地指出:作为美国/英国地区的Windows,是否值得在新的SQL server构建上将Latin1_General_CI_AS设置为系统级的默认设置?

简短的回答是:不。

您唯一关心实例排序的时间是现有工作负载因其而中断的时候。对于DBA来说,坚持旧的SQL排序规则而不是更好、更现代的Windows排序规则是更低风险的途径。

单个数据库可以采用Latin1_General_CI_AS,并接受SQL_Latin1_General_CP1_CI_AS的使用,也可以采用部分数据库包含和获取包含的数据库排序规则。

票数 1
EN

Stack Overflow用户

发布于 2022-09-08 16:51:21

我不能谈论将来安装默认的更改,但是,在不同实例排序的组织中工作过之后,我建议您坚持任何排序规则是您组织的标准(包括事实上的排序)。在美国,这是典型的SQL_Latin1_General_CP1_CI_AS,因为它是默认安装。

对排序规则进行标准化有助于实例合并、复制等。第三方应用程序可能需要不同的排序规则。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73652503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档