2016-03-06 64 views
0

我们最近从4.4.1升级到Sonar 5.3,并发现我们的一个项目出现重复键问题。我检查了排序规则,发现数据库服务器和数据库不区分大小写,并且列要区分大小写。我们是否应该将数据库的排序规则更改为“Latin1_General_CS_AS”?更改服务器上的排序规则有点困难,但我们可以尝试使用数据库。SonarQube 5.3升级后发生重复键错误

SELECT SERVERPROPERTY('COLLATION') 

输出:Latin1_General_CI_AS

SELECT DATABASEPROPERTYEX('<SonarDatabaseName>', 'Collation') SQLCollation; 

输出:Latin1_General_CI_AS

对于柱,它是 “Laitn1_General_CS_AS”

声纳日志中的错误。我没有看到在表中的重复键,但不知道这是由于整理如下Duplicate key error with SonarQube 5.2报道:提前

  ERROR [o.s.s.c.t.CeWorkerCallableImpl] Failed to execute task AVM28yZdM8YcgYQ_GJuI 
      org.sonar.server.computation.component.VisitException: Visit failed for Component 
      . 
      . 
      ### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot insert duplicate key row in object 'dbo.projects' with unique index 'projects_kee'. 

感谢。

回答

1

区分大小写是requirement,所以是的,您真的需要更改此数据库的排序规则(将区分大小写(CS)和区分重音(AS))。

+0

嗨,这只是Sonar 5.3或4.5+版本的要求吗?我们的环境在4.4.1中运行良好。 – AmitP

+0

不,它需要很长时间(包括[4.4](http://docs.sonarqube.org/display/SONARQUBE44/Requirements))。可能会因为你而陷入困境,但最终它必须是CS/AS。 –

+0

请参阅[docs](http://docs.sonarqube.org/display/SONAR/Installing+the+Server)和[对Sonar 5.3更改6884](https://jira.sonarsource.com/browse/SONAR- 6884) –