简要说明:作为美国/英语区域设置的 Windows DBA,是否值得将
Latin1_General_CI_AS
设置为新 SQL Server 版本上的系统级默认值,或者在可预见的将来坚持使用 SQL_Latin1_General_CP1_CI_AS
默认值是否更明智? 我们是否认为 MS 最终会将 Latin1_General_CI_AS
设置为美国的默认设置?
更多背景:
根据 Microsoft,如果您的 Windows 区域设置是任何英语国家(美国除外),您在安装过程中的默认 SQL Server 排序规则为:
Latin1_General_CI_AS
,但在美国,为了向后兼容,它仍然是 SQL_Latin1_General_CP1_CI_AS
。新数据库默认采用系统排序规则(除非您覆盖),等等...
我们将
SQL_Latin1_General_CP1_CI_AS
保留为我们自己的 SQL 服务器构建中的默认值,并且我们的内部数据库已使用相同的排序规则进行了发展。我们刚刚从第三方收到了第一个带有 Latin1_General_CI_AS
的数据库,这让我怀疑我们是否应该采用“更新”的整理方式,特别是如果我们在同一环境中的数据库之间进行交叉连接或交互。
我知道我们可以对不同数据库之间的连接进行整理命令,但我很好奇人们是否会抢先将
Latin1_General_CI_AS
配置为美国英语语言环境中的服务器级别默认值,以便与其他国家/地区的人们更加兼容或领先微软方面在未来的 Windows 版本中任何可能的“最终支点”。
谢谢!
简要说明:作为美国/英语区域设置的 Windows DBA,是否值得将 Latin1_General_CI_AS 设置为新 SQL Server 版本上的系统级默认值
简单回答:没有。
您唯一需要关心实例排序规则的情况是现有工作负载因此而中断。 对于 DBA 来说,坚持使用旧的 SQL 排序规则而不是更好、更现代的 Windows 排序规则是风险较低的路径。
单个数据库可以采用Latin1_General_CI_AS并接受tempdb将使用SQL_Latin1_General_CP1_CI_AS,或者可以采用部分数据库包含并获取包含的数据库排序规则。
SQL_Latin1_General_CP1_CI_AS
,因为它是安装默认值。标准化排序规则有助于实例整合、复制等。第三方应用程序可能需要不同的排序规则。