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

如何证明SQL服务账户无法被人类登录?参数调整及功能影响咨询

解答

1. 实现服务账户无法被人类登录的参数调整方案

针对SQL Server的服务账户(SQL登录类型),你可以通过以下两种参数/设置来证明其无法被人类登录:

  • 启用密码策略与过期检查
    修改登录账户的CHECK_POLICY和CHECK_EXPIRATION参数(对应sys.sql_logins中的is_policy_checked和is_expiration_checked字段),确保密码不符合企业密码复杂度要求。人类尝试登录时,会被系统强制要求修改密码(因密码不满足策略),而应用程序使用该账户连接时,由于直接调用哈希密码进行认证,不会触发交互式的密码修改流程,仍能正常工作。
    执行语句:

    ALTER LOGIN [YourServiceAccount] WITH CHECK_POLICY = ON, CHECK_EXPIRATION = ON;
    
  • 限制默认数据库访问
    将登录账户的default_database_name(sys.sql_logins字段)修改为一个不存在的数据库,或该登录无访问权限的数据库。人类登录时会因无法访问默认数据库而报错,但应用程序可在连接字符串中指定具体业务数据库,不受影响。
    执行语句:

    ALTER LOGIN [YourServiceAccount] WITH DEFAULT_DATABASE = [RestrictedOrNonExistentDB];
    

2. 禁用登录账户(is_disabled=1)对服务账户的影响

如果将is_disabled设为1,该登录账户会被SQL Server完全禁用,任何使用该账户的连接请求(包括应用程序的服务账户连接)都会被拒绝,因此服务账户无法正常运作。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 09:52:47