You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot应用通过Windows认证连接MSSQL v18启动报错

问题根因

当前配置启动失败是高版本MSSQL JDBC驱动的三类常见适配问题导致的:

  1. 连接URL参数错误:使用了非标准的库名参数database,高版本驱动识别库名需要用databaseName参数;MSSQL JDBC v18版本默认强制加密数据库连接,未配置证书信任规则时会直接触发SSL连接失败。
  2. Windows集成认证依赖缺失:仅配置integratedSecurity=true时,驱动默认需要依赖本地系统的SQL认证动态链接库,未放置对应文件时会直接导致数据源初始化失败。
  3. 未显式指定驱动类,部分Spring Boot版本自动识别驱动时会出现适配偏差。
    你当前拿到的是Spring容器启动失败的通用提示,没有打印数据源连接的具体根错误,加debug参数启动即可看到完整异常栈。
修正方案

1. 修正配置文件

将application.properties中的配置替换为以下内容:

spring.jpa.hibernate.ddl-auto=create
# 适配v18版本驱动的连接URL
spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=vlad;integratedSecurity=true;encrypt=true;trustServerCertificate=true;authenticationScheme=NTLM;
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.properties.hibernate.format_sql=true
springdoc.api-docs.path=/api-docs

配置说明:

  • 替换错误的database参数为JDBC标准的databaseName参数
  • 增加encrypt=true;trustServerCertificate=true适配v18驱动的默认加密要求,本地测试时直接信任服务器证书,无需手动配置MSSQL的SSL证书
  • 增加authenticationScheme=NTLM指定认证方式为NTLM,无需手动拷贝认证dll文件即可在Windows环境下完成系统身份认证

2. 校验依赖配置

如果是Maven项目,确认pom.xml中引入了和本地JDK版本匹配的MSSQL JDBC驱动依赖,示例如下:

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>12.4.2.jre11</version>
    <!-- JDK8环境替换为12.4.2.jre8版本即可 -->
</dependency>

3. 本地服务校验

启动应用前确认以下本地服务配置正常:

  • MSSQLSERVER数据库服务处于启动状态
  • SQL Server配置管理器中已启用TCP/IP协议,1433端口未被占用
  • 当前Windows登录账号已被添加为MSSQL的登录用户,且对vlad库拥有读写、DDL操作权限,适配ddl-auto=create的建表需求

4. 精准异常定位

如果调整后依然启动失败,在启动命令后增加--debug参数运行应用,即可在控制台看到数据源连接失败的具体错误信息,直接根据错误提示排查对应问题即可。

内容的提问来源于stack exchange,提问作者AndiToma112

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 13:06:30