运维管理2 分钟阅读
SQL Server 创建账号密码复杂度问题
在维护 SQL Server 数据库时,账号密码策略问题是一个常见的困扰。今天在 SQL Server 2008 上创建新账号时遇到了一个典型的错误: bash 消息 15118,级别 16,状态 1,第 1 行 密码有效性验证失败。该密码不够复杂,不符合 Windows 策略要求。
2025年9月3日阅读—点赞—收藏—
database
在知识库中专注阅读,并随时返回相关工具与课程
在维护 SQL Server 数据库时,账号密码策略问题是一个常见的困扰。今天在 SQL Server 2008 上创建新账号时遇到了一个典型的错误: bash 消息 15118,级别 16,状态 1,第 1 行 密码有效性验证失败。该密码不够复杂,不符合 Windows 策略要求。
本章目标:掌握本章核心知识点 前置要求:完成前序章节学习 预计时长:60 分钟
在维护 SQL Server 数据库时,账号密码策略问题是一个常见的困扰。今天在 SQL Server 2008 上创建新账号时遇到了一个典型的错误:
消息 15118,级别 16,状态 1,第 1 行 密码有效性验证失败。该密码不够复杂,不符合 Windows 策略要求。

本文将详细介绍该问题的排查过程和解决方案。
SQL Server 的密码策略并非独立存在,而是依赖于 Windows 操作系统的本地安全策略。当创建账号时出现密码复杂度错误,需要检查系统级别的安全设置。
打开本地安全策略管理器:服务器管理器 → 本地服务器 → 工具 → 本地安全策略

导航至密码策略:安全设置 → 账户策略 → 密码策略

检查"密码必须符合复杂性要求"选项的状态:
image.png
密码复杂性要求策略如下:
image.png
如果启用此策略,密码必须符合下列最低要求:
在更改或创建密码时执行复杂性要求。
问题原因:密码中包含了账号名称,违反了复杂性要求。
修改密码后重新执行创建脚本:
1SELECT @@VERSION;23Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor) 45-- 创建登录账号并指定默认数据库6CREATE LOGIN LUCIFER WITH PASSWORD = 'MSSQLTEST@2025!', DEFAULT_DATABASE = WANGDS;78-- 切换到目标数据库9USE WANGDS;10GO1112-- 创建数据库用户并关联登录账号13CREATE USER LUCIFER FOR LOGIN LUCIFER;14GO1516-- 设置默认 Schema17USE WANGDS;18ALTER USER LUCIFER WITH DEFAULT_SCHEMA = dbo;19GO20 21-- 授予表级别的增删改查权限22GRANT SELECT, INSERT, UPDATE, DELETE ON WANGDS.dbo.zhangsan TO LUCIFER;23GRANT SELECT, INSERT, UPDATE, DELETE ON WANGDS.dbo.lissi TO LUCIFER;24GO执行成功,账号创建完成,可以对表进行增删改查操作。
SQL Server 数据库的密码策略继承自 Windows 操作系统的安全策略,而非独立配置。遇到密码复杂度问题时,应当:
理解这一机制有助于快速定位和解决类似问题。