SQL Server 2022 Docker实例创建登录密码时复杂度验证失败
SQL Server 2022 Docker镜像创建登录时密码验证失败问题解决
升级到mcr.microsoft.com/mssql/server:2022-latest镜像后,创建登录时出现密码验证失败的问题,即使密码看似符合复杂度要求仍报错,可通过以下方案解决:
方案1:调整密码满足严格的复杂度规则
你的密码!CICD_builder_pipeline!包含大写字母、小写字母和符号,但可能因包含登录名CICD触发了SQL Server 2022额外的密码验证规则(错误提示未明确提及此点),或者字符类别的识别逻辑有细微变化。
修改密码,确保覆盖至少3种字符类别(建议直接覆盖4种彻底避免问题),同时避免包含登录名。示例:
USE [master] CREATE LOGIN CICD WITH PASSWORD = '!Builder_pipeline_123!'; GO
该密码包含:大写字母、小写字母、数字、符号,完全符合密码策略要求。
方案2:关闭密码策略检查(仅适用于CI测试环境)
如果在CI/CD集成测试环境中不需要严格的密码安全策略,可以在创建登录时显式关闭密码策略验证:
USE [master] CREATE LOGIN CICD WITH PASSWORD = '!CICD_builder_pipeline!', CHECK_POLICY = OFF; GO
⚠️ 注意:此方案仅用于测试场景,生产环境禁止使用,会降低账号安全性。
方案3:确认SA密码符合要求
虽然你的问题出在CICD登录,但SQL Server 2022对SA账号的密码要求更严格,确保docker-compose中的SA_PASSWORD满足复杂度规则(你当前设置的yourStrong(!)Password包含大写、小写、符号,符合3种类别要求,无需调整)。
内容的提问来源于stack exchange,提问作者Killnine
相关产品推荐
相关产品推荐

