当我尝试连接Windows身份验证或SQL Server身份验证时,我从SQL Server Management Studio收到错误18456,如下图所示。
我想在这个链接中实现解决方案:Login to Microsoft SQL Server Error: 18456但我不能以任何方式启动引擎。另外,我不知道SQL Server身份验证的密码。
我能做什么?
我经常使用SQL Server 2012及更高版本(通常使用新安装)看到此问题,原因是SQL Server 2012及更高版本不会自动为窗口管理员提供SQL Server中的管理员权限。
这将使您根本无法访问SQL Server,在这种情况下,我使用以下方法:
SQL Server 2016 C:\Windows\SysWOW64\SQLServerManager13.msc SQL Server 2014 C:\Windows\SysWOW64\SQLServerManager12.msc SQL Server 2012 C:\Windows\SysWOW64\SQLServerManager11.msc SQL Server 2008 C:\Windows\SysWOW64\SQLServerManager10.msc
Right-Click
SQL Server服务并转到Properties
。Startup Parameters
选项卡并在那里添加-m
参数。这将导致SQL-Server以单用户模式运行。Restart
SQL Server服务,确保SQL Server代理无法启动,如果它启动它可能会获得与SQL Server的单个可用连接。Run as Administrator
。SysAdmin
角色。-m
。重新启动SQL Server服务和tadaaa。也不要在其他人使用的服务器上执行此操作。
一种选择是安装新的SQL Server实例并将任何数据库附加到新实例,但由于各种原因,这可能很棘手,特别是如果您没有master
数据库的最新备份。
因此,我建议遵循Microsoft here提供的建议并以单用户模式启动实例,然后允许安装实例的计算机上的任何本地管理员获取访问权限并更正身份验证问题(重置密码等) )。
当然,这假设您可以访问计算机上的管理员帐户,希望您这样做。
我面临的类似问题和这篇文章中提到的解决方案对我有用:https://stackoverflow.com/a/23395581/4409488
它基本上是说你必须改变默认登录模式,它只设置为Windows身份验证到SQL Server和Windows身份验证模式。
右键单击服务器=> SelectProperties =>安全页面=>服务器身份验证=>选择SQL Server和Windows身份验证模式单选按钮
从服务重新启动SQL服务器。你应该好好去。