简要说明:作为美国/英国地区的Windows,是否值得在新的SQL server构建上将Latin1_General_CI_AS设置为系统级默认设置,还是在可预见的将来继续使用SQL_Latin1_General_CP1_CI_AS默认值更明智?我们认为MS最终会使Latin1_General_CI_AS成为美国的默认产品吗?
更多背景:
按照微软的说法,如果您的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中领先于微软一方的任何可能的“最终支点”。
谢谢!
发布于 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的使用,也可以采用部分数据库包含和获取包含的数据库排序规则。
发布于 2022-09-08 16:51:21
我不能谈论将来安装默认的更改,但是,在不同实例排序的组织中工作过之后,我建议您坚持任何排序规则是您组织的标准(包括事实上的排序)。在美国,这是典型的SQL_Latin1_General_CP1_CI_AS,因为它是默认安装。
对排序规则进行标准化有助于实例合并、复制等。第三方应用程序可能需要不同的排序规则。
https://stackoverflow.com/questions/73652503
复制相似问题