SonarQube 在具有集成身份验证的 SQL Server 上作为 Windows 服务运行 - 有人有工作示例吗?
Posted
技术标签:
【中文标题】SonarQube 在具有集成身份验证的 SQL Server 上作为 Windows 服务运行 - 有人有工作示例吗?【英文标题】:SonarQube running as a Windows Service on SQL Server with integrated authentication - Does anyone have a working example? 【发布时间】:2015-10-07 14:27:02 【问题描述】:SonarQube 作为服务安装。 jtds-1.3.1-dist 用于 SQL Server 访问。 该服务使用 SQL Server 身份验证工作。
我尝试了许多配置 - 一些示例包括:
sonar.jdbc.url=jdbc:jtds:sqlserver://dbserver/SonarQube;instance=instance1;SelectMethod=Cursor;integratedSecurity=true
sonar.jdbc.url=jdbc:jtds:sqlserver://dbserver/SonarQube;instance=instance1;SelectMethod=Cursor;integratedSecurity=true;domain=thedomain
sonar.jdbc.url=jdbc:jtds:sqlserver://dbserver/SonarQube;instance=instance1;SelectMethod=Cursor;integratedSecurity=true;useNtlm2=true;domain=thedomain
而 ntlmauth.dll 分散在硬盘驱动器中一半的文件夹周围!
日志要么显示类似于“用户声纳无法连接”或“用户来自不同域”的内容。
似乎没有任何效果。
如果有人能发布 sonar.jdbc.url 的工作示例和 ntlmaut.dll 的位置,我将不胜感激。
【问题讨论】:
【参考方案1】:以下 SonarQube 和带有集成身份验证的 SQL Server 的设置/配置对我有用。
SonarQube 服务器
SonarQube 服务器版本 = 5.2
sonar.properties
sonar.jdbc.url = jdbc:sqlserver://dbserver;databaseName=SonarQube;integratedSecurity=true
请注意:
-
必须存在名为 SonarQube 的数据库,并且其排序规则必须区分大小写 (CS) 和区分重音 (AS)
如果要使用 Microsoft Sql Server 的集成安全性,请使用以下连接字符串
如果您使用“Integrated Security”,请勿设置“sonar.jdbc.username”或“sonar.jdbc.password”属性”。
要使“Integrated Security”正常工作,您必须从以下网址下载 Microsoft SQL JDBC 驱动程序包
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774
并将 sqljdbc_auth.dll 复制到一个文件夹并将该文件夹添加到环境变量 %PATH%。根据 SonarQube 服务器计算机的体系结构复制 32 位或 64 位版本的 dll。
此版本的 SonarQube 已通过 Microsoft SQL JDBC 4.1 版和 Microsoft SQL Server 2012 测试。
【讨论】:
在撰写本文时,使用的 SonarQube 版本为 5.1.2。对我们来说仍然是这种情况,所以不幸的是,这个答案并不相关。在我们的 5.2 测试服务器上,配置集成安全性很简单。以上是关于SonarQube 在具有集成身份验证的 SQL Server 上作为 Windows 服务运行 - 有人有工作示例吗?的主要内容,如果未能解决你的问题,请参考以下文章