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

已加入域组的服务器:IIS应用池SQL Server登录创建及连接问题

域环境下IIS应用池SQL登录配置及TLS证书连接问题解决

一、为已加入域的服务器上的IIS应用池创建SQL Server登录

1. 确认应用池身份账户

  • 如果应用池使用域用户身份:记下账户全称,格式为域名称\账户名(例如CORP\WebAppPoolAcct)
  • 如果应用池使用内置的ApplicationPoolIdentity:对应的账户格式为IIS APPPOOL\应用池名称(例如IIS APPPOOL\MyAspNetAppPool)

2. 在SQL Server中创建登录

  1. 打开SQL Server Management Studio(SSMS),连接目标SQL Server实例
  2. 展开安全性节点,右键点击登录名,选择新建登录名
  3. 选择Windows身份验证,在“登录名”输入框中填入步骤1确认的账户名
  4. 切换到用户映射选项卡,勾选Web应用需要访问的数据库,同时为该数据库用户分配必要的权限角色(例如db_datareader、db_datawriter,或自定义权限)
  5. 点击确定完成创建

3. 验证登录有效性

确保Web应用的连接字符串中设置了Integrated Security=True(或Trusted_Connection=True),让应用池身份自动用于SQL Server认证。


二、解决TLS证书不受信任导致的数据库连接失败

你遇到的事件日志错误:

从远程服务器收到的证书由不受信任的证书颁发机构颁发。因此,证书中包含的所有数据均无法验证。TLS连接请求失败。附加数据包含服务器证书。

这个错误说明Web服务器不认可SQL Server用于TLS加密连接的证书,导致连接握手失败,和你已创建的SQL登录权限无关,优先解决证书信任问题:

方法1:导入SQL Server证书到Web服务器的受信任根CA(生产环境推荐)

  1. 在SQL Server所在服务器上,打开MMC控制台,添加“证书”管理单元(选择计算机账户->本地计算机)
  2. 展开个人>证书,找到SQL Server使用的证书(主题通常为SQL Server的主机名或FQDN)
  3. 右键点击证书,选择所有任务>导出,按向导导出仅证书(不含私钥),保存为.cer格式文件
  4. 在Web服务器上,同样打开MMC证书管理单元,展开受信任的根证书颁发机构>证书,右键选择所有任务>导入,将导出的.cer文件导入

方法2:修改连接字符串跳过证书验证(仅测试环境使用)

在应用的连接字符串中添加TrustServerCertificate=True,临时绕过证书验证,示例:

Server=SQLSERVER-FQDN;Database=YourWebDB;Integrated Security=True;TrustServerCertificate=True

⚠️ 生产环境禁止使用此方法,会降低连接的安全性。

方法3:为SQL Server配置可信CA颁发的证书

如果SQL Server当前使用自签名证书,可替换为企业内部CA或公共CA颁发的证书,确保Web服务器信任该CA,从根源解决证书信任问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:22:44