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

能否在SQLCMD中设置SQL Server混合模式身份验证

可以通过SQLCMD设置SQL Server实例的混合身份验证模式,以下是具体操作步骤和额外修复方案:

操作前置要求
  • 你打开的SQLCMD必须以本地Windows管理员身份启动,否则无权限修改实例核心配置
步骤1:确认当前身份验证模式

在SQLCMD中执行以下语句,每输入一句后按回车,输入GO再按回车才会生效:

SELECT SERVERPROPERTY('IsIntegratedSecurityOnly') AS 身份验证模式;
GO

返回结果为1代表当前仅开启Windows身份验证,0代表已开启混合模式。

步骤2:修改为混合身份验证模式

执行以下注册表修改命令调整身份验证模式:

EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2;
GO

参数说明:LoginMode值为2对应混合身份验证模式,值为1对应仅Windows身份验证模式。

步骤3:启用sa账号并重置密码

此前修改sa密码无效大概率是sa账号处于禁用状态,执行以下语句操作:

-- 启用sa账号
ALTER LOGIN sa ENABLE;
GO
-- 重置sa密码,不需要密码复杂度校验可保留CHECK_POLICY参数,否则删除即可
ALTER LOGIN sa WITH PASSWORD = '你自定义的强密码', CHECK_POLICY = OFF;
GO
步骤4:重启SQL Server实例生效

所有配置修改完成后需要重启实例才能生效,你可以在Windows服务列表中找到对应SQL Server Express服务手动重启,也可以执行以下命令行操作:
net stop MSSQL$SQLEXPRESS && net start MSSQL$SQLEXPRESS
如果你的实例名不是默认的SQLEXPRESS,请替换为实际的实例名称

其他可选解决路径

如果上述操作完成后还是无法正常登录数据库,可尝试以下方案:

  • 打开SQL Server配置管理器,确认对应实例的TCP/IP协议已启用,检查端口监听配置无异常
  • 若使用Windows身份验证仍然登录失败,可在SQLCMD中手动添加当前Windows账号为系统管理员:
CREATE LOGIN [你的Windows域名\你的Windows用户名] FROM WINDOWS;
GO
ALTER SERVER ROLE sysadmin ADD MEMBER [你的Windows域名\你的Windows用户名];
GO

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:57:02