【问题标题】:SonarQube: Is the Collation for the Database or the Instance?SonarQube:是数据库还是实例的排序规则?
【发布时间】:2017-06-17 03:45:28
【问题描述】:
【问题讨论】:
标签:
sql-server
sonarqube
collation
sonarqube-ops
【解决方案1】:
如果 SQL Server(特别是 tempdb)的排序规则是“重音不敏感”并且数据库排序规则是“重音敏感”,SonarQube 是否支持这种配置?
由于文档含糊不清(他们可能使用 SQL Server 的程度不足以了解可以设置排序规则的不同级别),因此在这里获得答案的唯一两种方法是:
联系他们的社区:https://www.sonarqube.org/community/feedback/。这是最好的选择。
将其安装在具有不区分重音的默认排序规则的实例上并进行测试。没有理由不试试这个。
SonarQube 是否正确处理这个问题取决于它是如何编码的。他们可能会在临时表中的字符串列上进行联接,并且数据库和实例之间的排序规则的任何差异可能都可能导致错误,但前提是他们在创建临时表时没有特别声明排序规则。
此外,他们的应用程序可能需要区分重音,因为它们有一些变量名称和/或光标名称和/或(不太可能)GOTO 标签名称可能等同于不区分重音,否则应该被视为不同的。实例级排序规则控制这些区域,因此会影响这些项目的名称解析。当然,这很容易测试,因为如果声明两个在重音敏感下被视为不同名称的变量,如果足够接近以在重音不敏感下被认为相同,则会导致解析错误。不过,请联系他们的社区。p>