支持多种外部 数据库引擎。请务必遵循为您的数据库列出的要求。它们是真正的要求而不是建议。
创建一个空架构和一个 sonarqube
用户。授予此 用户 对此架构 的、 和 对象的sonarqube
权限 。create
update
delete
排序规则 必须 区分大小写 (CS) 和重音敏感 (AS)。
READ_COMMITED_SNAPSHOT
必须 在 SonarQube 数据库上设置。
MS SQL 数据库的共享锁策略可能会影响 SonarQube 运行时。确保 is_read_committed_snapshot_on
设置 true
为防止 SonarQube 在重负载下面临潜在的死锁。
要检查的查询示例 is_read_committed_snapshot_on
:
SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name='YourSonarQubeDatabase';
要更新的查询示例 is_read_committed_snapshot_on
:
ALTER DATABASE YourSonarQubeDatabase SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE;
如果您的 Microsoft SQL Server 不支持加密,则必须添加 encrypt=false
到 JDBC URL 连接字符串。
如果您的 Microsoft SQL Server 需要加密,但 您不希望 SonarQube 验证证书,则必须添加 trustServerCertificate=true
到 JDBC URL 连接字符串。
要使用集成安全性:
下载 Microsoft SQL JDBC Auth 12.4.2 包 并复制 mssql-jdbc_auth-12.4.2.x64.dll
到 SonarQube 主机路径中的任意文件夹。
如果您将 SonarQube 作为 Windows 服务运行,请确保运行该服务的 Windows 帐户有权连接您的 SQL 服务器。
确保 注释掉sonar.jdbc.username
或 sonar.jdbc.password
属性,否则 SonarQube 将使用 SQL 身份验证。
sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar;integratedSecurity=true
要使用 SQL 身份验证,请使用以下连接字符串。另外,请确保 sonar.jdbc.username
和 sonar.jdbc.password
已正确设置:
sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonarsonar.jdbc.username=sonarqubesonar.jdbc.password=mypassword
如果同一个 Oracle 实例上有两个 SonarQube 模式,特别是如果它们用于两个不同的版本,SonarQube 会感到困惑并选择它找到的第一个。为了避免这个问题:
应减少与 SonarQube Oracle 用户关联的权限。
或者应该在 Oracle 端定义一个触发器,以便在建立新连接时自动更改 SonarQube Oracle 用户会话: ALTER SESSION SET current_schema="MY_SONARQUBE_SCHEMA"
。
Oracle JDBC 驱动程序版本 12.1.0.1 和 12.1.0.2 存在重大错误,不建议与 SonarQube 一起使用(请参阅更多详细信息)。
如果您想使用自定义模式而不是默认的“公共”模式,则 search_path
必须设置 PostgreSQL 属性:
ALTER USER mySonarUser SET search_path to mySonarQubeSchema
© 2008-2024 SonarSource SA。版权所有。SONAR、SONARSOURCE、SONARLINT、SONARQUBE、SONARCLOUD 和 CLEAN AS YOU CODE 是 SonarSource SA 的商标。
Copyright © 2022 All Rights Reserved. 地址:上海市浦东新区崮山路538号808 苏ICP123456 XML地图