当前位置: 首页 > news >正文

如何配置 SQL Server 混合身份验证模式​

文章目录

      • 1. 启用 SQL Server 混合身份验证模式
      • 2. 创建 SQL Server 登录账户
      • 3. 启用 TCP/IP 协议
      • 4. 配置防火墙
      • 5. 测试远程连接
      • 6. Java 代码连接 SQL Server
        • 添加 JDBC 驱动
        • Java 连接示例
      • 常见问题排查


1. 启用 SQL Server 混合身份验证模式

  • 操作步骤
    1. 打开 SQL Server Management Studio (SSMS)
    2. 右键点击服务器实例 → 属性安全性
    3. 选择 SQL Server 和 Windows 身份验证模式
    4. 点击 确定重启 SQL Server 服务(通过 SQL Server 配置管理器)。

2. 创建 SQL Server 登录账户

  • 操作步骤
    1. 在 SSMS 中展开 安全性登录名
    2. 右键点击 登录名新建登录名
    3. 输入用户名(如 java_user),选择 SQL Server 身份验证
    4. 设置密码,取消勾选 强制实施密码策略(可选)。
    5. 用户映射 标签页中,勾选目标数据库(如 YourDatabase),分配角色(如 db_owner 或自定义权限)。

3. 启用 TCP/IP 协议

  • 操作步骤
    1. 打开 SQL Server 配置管理器
    2. 展开 SQL Server 网络配置MSSQLSERVER 的协议
    3. 右键启用 TCP/IP
    4. 双击 TCP/IPIP 地址 标签页 → 在 IPAll 部分设置 TCP 端口为 1433(默认端口)。
    5. 重启 SQL Server 服务

4. 配置防火墙

  • 操作步骤
    1. 打开 Windows 防火墙高级设置
    2. 添加入站规则:允许端口 1433(TCP)。
    3. 如果使用非默认端口,替换为实际端口号。

5. 测试远程连接

  • 使用 Telnet 测试端口
    telnet your_server_ip 1433
    
    若连接失败,检查防火墙或网络设置。

6. Java 代码连接 SQL Server

添加 JDBC 驱动
  • Maven 依赖(推荐):
    <dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>12.4.2.jre11</version> <!-- 根据 Java 版本调整 -->
    </dependency>
    
  • 手动下载:Microsoft JDBC Driver
Java 连接示例
import java.sql.Connection;
import java.sql.DriverManager;public class SQLServerDemo {public static void main(String[] args) {String url = "jdbc:sqlserver://localhost:1433;databaseName=YourDatabase;encrypt=true;trustServerCertificate=true";String user = "java_user";String password = "your_password";try (Connection conn = DriverManager.getConnection(url, user, password)) {System.out.println("连接成功!");} catch (Exception e) {e.printStackTrace();}}
}

常见问题排查

  1. 连接超时/拒绝

    • 检查 SQL Server 是否允许远程连接(通过 SSMS → 服务器属性 → 连接 → 勾选 允许远程连接)。
    • 验证防火墙是否开放端口。
    • 确保 SQL Server 服务正在运行。
  2. 身份验证失败

    • 确认用户名/密码正确。
    • 检查登录名是否映射到目标数据库。
  3. 驱动问题

    • 使用最新 JDBC 驱动,匹配 Java 版本(如 jre8jre11)。
    • 添加 encrypt=true;trustServerCertificate=true 避免 SSL 错误(测试环境)。

完成以上步骤后,Java 应用程序即可通过 JDBC 连接 SQL Server。

提示:更多内容可以访问Clang’s Blog:https://www.clang.asia

http://www.lryc.cn/news/571793.html

相关文章:

  • [pyvips] 枚举类型 | 错误处理(c->py)
  • LoRA、QLoRA是什么
  • 分布式——分布式系统设计策略一
  • 【threejs】VR看房项目经验总结
  • java高级——注解和反射
  • MySQL 数据处理函数全面详解
  • 【windows常见文件后缀】
  • 客户端软件开发技术选择、填空解析
  • python中学物理实验模拟:杠杆平衡条件
  • 从0开始学linux韦东山教程第四章问题小结(5)
  • Java项目:基于SSM框架实现的学生二手书籍交易平台管理系统【ssm+B/S架构+源码+数据库+毕业论文+答辩PPT+任务书+开题】
  • 猿人学js逆向比赛第一届第六题
  • excel 待办日历软件(需要宏)特别推荐
  • 《挑战你的控制力!开源项目小游戏学习“保持平衡”开发解析:用HTML+JS+CSS实现物理平衡挑战》​
  • 吉林大学软件工程章节测试答案-第八章
  • 数学基础(线性代数、概率统计、微积分)缺乏导致概念难以理解问题大全
  • 每日一篇博客:理解Linux动静态库
  • 一文学懂快浮点数据格式
  • 【深度学习】卷积神经网络(CNN):计算机视觉的革命性引擎
  • 蚂蚁百宝箱+MCP打造p 人解放神器agent,解放大脑
  • 设置环境变量(linux,windows,windows用指令和用界面)
  • HarmonyOS性能优化——感知流畅优化
  • 鸿蒙网络编程系列54-仓颉版实现Smtp邮件发送客户端
  • LVS +Keepalived 高可用群集
  • 51c大模型~合集141
  • maven编译报错java: Compilation failed: internal java compiler error
  • 基于C++实现(控制台)机械提取词频
  • Hive的分区表(静态分区、动态分区)、分桶表、四种排序方式和数据加载方式
  • Linux操作系统之进程(六):进程的控制(上)
  • 鼎捷T100开发语言-Genero FGL 终极技术手册