You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

SQL Server 2017 Management Studio凭据丢失,Windows身份验证登录失败如何恢复密码?

解决SQL Server 2017 Windows身份验证登录失败&凭据恢复问题

首先得明确:Windows身份验证登录SQL Server,本质是用你当前登录Windows系统的账号凭据来验证的。如果这个方式登录失败,大概率是你的Windows系统账号密码丢失/被修改,或者该Windows账号没有被授予SQL Server的登录权限。下面分两种核心场景给你解决方案:

场景1:你能登录到安装SQL Server的Windows服务器(本地或远程桌面可进入)

如果还能进入Windows系统,只是SQL Server登录失败,按以下步骤操作:

步骤1:以本地管理员身份启动SSMS

  • 右键点击SQL Server Management Studio图标,选择**"以管理员身份运行"**
  • 在登录窗口,选择**"Windows身份验证"**尝试登录。如果成功,进入下一步;如果还是失败,说明你的管理员账号没有SQL Server登录权限,跳转到场景2。

步骤2:重置或添加Windows账号的SQL Server登录权限

如果登录成功:

  • 在"对象资源管理器"中,展开**"安全性" > "登录名"**
  • 找到你对应的Windows账号(格式一般是[域名\用户名][本地机器名\用户名]),右键选择**"属性"**
  • 在"常规"选项卡中,若要修改Windows账号密码(注意:这是修改Windows系统的密码,不是SQL Server单独的密码),点击**"更改密码"**按提示完成修改。
  • 如果是权限问题,切换到"服务器角色"选项卡,确保勾选**"sysadmin"**(系统管理员)角色,这样就能拥有最高权限登录。

场景2:无法登录到安装SQL Server的Windows服务器(Windows账号密码丢失)

这种情况你需要先重置Windows系统的管理员密码,再处理SQL Server的登录问题:

方法1:使用Windows安装介质重置密码

  1. 插入Windows Server 2016/2019(SQL Server 2017的常用配套系统)的安装U盘或镜像,从介质启动服务器。
  2. 进入安装界面后,点击**"修复计算机"** > "疑难解答" > "命令提示符"
  3. 在命令提示符中执行以下命令(假设系统盘是C盘,根据实际情况调整):
    # 替换默认的粘滞键程序为命令提示符
    copy c:\windows\system32\cmd.exe c:\windows\system32\sethc.exe /y
    
  4. 重启服务器,在登录界面连续按5次Shift键,弹出命令提示符窗口。
  5. 执行以下命令重置管理员密码(替换Administrator为你的账号名,NewPassword123!为新密码):
    net user Administrator NewPassword123!
    
  6. 重置完成后登录Windows系统,再按场景1的步骤处理SQL Server的登录权限。

方法2:使用SQL Server单用户模式重置登录权限

如果Windows账号能登录,但SQL Server的Windows身份验证还是失败,可能是该账号被移除了登录权限,此时可以进入SQL Server单用户模式:

  1. 打开**"SQL Server配置管理器"**,找到你的SQL Server实例(默认是MSSQLSERVER)。
  2. 右键实例选择**"属性",切换到"启动参数"**选项卡。
  3. 在"指定启动参数"输入框中添加-m(表示单用户模式),点击"添加"后确定。
  4. 重启SQL Server服务。
  5. 以本地管理员身份打开命令提示符,执行以下命令登录SQL Server:
    sqlcmd -S .\MSSQLSERVER -E
    
  6. 登录成功后,执行以下SQL语句添加你的Windows账号为系统管理员(替换DOMAIN\YourUserName为你的账号):
    CREATE LOGIN [DOMAIN\YourUserName] FROM WINDOWS;
    ALTER SERVER ROLE sysadmin ADD MEMBER [DOMAIN\YourUserName];
    GO
    
  7. 执行完成后退出sqlcmd,回到SQL Server配置管理器移除-m启动参数,重启SQL Server服务,即可用Windows身份验证登录。

关键注意事项

  • Windows身份验证没有独立的SQL Server密码,它完全依赖Windows系统账号的凭据,核心是确保Windows账号可用且有SQL Server的登录权限。
  • 如果你是在另一台机器远程连接SQL Server,需要确保远程机器的Windows账号在SQL Server所在服务器上有对应的登录权限,或使用域账号(若在域环境中)。

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

火山引擎 最新活动