在 SQL Server 中更改数据库排序规则的风险和影响
Posted
技术标签:
【中文标题】在 SQL Server 中更改数据库排序规则的风险和影响【英文标题】:Risk and effects of changing database collation in SQL Server 【发布时间】:2016-06-09 20:20:07 【问题描述】:由于我的 SQL Server 2012 实例使用的排序规则 (Latin1_General_CI_AS
) 与正在使用的某些数据库 (SQL_Latin1_General_CP1_CI_AI
) 不同,因此我正在评估使用不同于 SQL Server 的排序规则更改数据库排序规则的可能风险实例。
我检索了数百个程序来执行此步骤。我不清楚的是要了解执行此类操作是否存在一些限制或风险。
感谢您的任何回复。
【问题讨论】:
检查这个以及 TempDB 问题:***.com/questions/21332105/… 【参考方案1】:要了解风险意味着您需要了解差异。我们无法告诉您对系统的影响。不同之处在于新的排序规则将开始寻找以前没有的匹配项。
使用您当前的排序规则考虑此查询。这不会返回一行,因为这两个值不相等。
select 1
where 'e' = 'é' collate Latin1_General_CI_AS
现在,由于这两个字符都是字母“e”,但带有不同的重音,当您忽略重音时,它们将相等。
select 1
where 'e' = 'é' collate SQL_Latin1_General_CP1_CI_AI
同样,由于我们不了解您的系统,因此我们无法判断您的系统中可能存在哪些潜在问题。
【讨论】:
以上是关于在 SQL Server 中更改数据库排序规则的风险和影响的主要内容,如果未能解决你的问题,请参考以下文章