忘记 SQL Server 密码
Posted
技术标签:
【中文标题】忘记 SQL Server 密码【英文标题】:Forgot SQL Server Password 【发布时间】:2008-10-25 21:05:49 【问题描述】:我前段时间安装了 SQL Server 2005,但忘记了我在安装过程中设置的管理员密码。我现在如何连接到 SQL Server?
编辑: 我想我只允许 Sql Server 身份验证。使用集成安全登录也不起作用。
【问题讨论】:
只是为了澄清,这不是您指的是SQL Server 2005 Express,对吗? 我认为这个问题属于ServerFault.com How to Reset SA Password in Sql Server 【参考方案1】:尝试在命令提示符下运行以下命令(假设您的服务器名称为 SQLEXPRESS):
osql -E -S .\SQLEXPRESS
exec sp_password @new='changeme', @loginame='sa'
go
alter login sa enable
go
exit
完成这些步骤后,尝试使用用户名 sa 和密码 changeme 登录。
【讨论】:
我认为这第一个命令需要集成帐户。因为当我尝试它时,它说“用户'mydomain \ myuser'登录失败”。 此答案假定您已经可以访问您的 SQL 服务器,否则您将收到“登录失败”消息,如预期的那样。【参考方案2】:您无需为任何重置工具付费即可执行此操作。以单用户模式启动实例,您可以使用 sysadmin 权限创建新的登录/
看到这个Pinal Dave link。
【讨论】:
是的,我就是这样做的:serverfault.com/questions/120215/…【参考方案3】:非常感谢牛神
它工作正常。 我已经使用 Windows 身份验证模式登录到 SQL Server。 然后打开了一个新的查询窗口。在那里我按 F5 输入了这两个命令。
首次运行 exec sp_password @new='changeme', @loginame='sa'
然后 alter login sa enable
【讨论】:
【参考方案4】:如果除了sa
之外没有其他用户具有系统管理员权限,则应使用-m
选项重新启动SQL Server 以用于单用户模式。然后你可以连接到这个 SQL Server 实例,你可以添加其他具有 sysadmin 角色的用户或执行exec sp_password
。
Pinal Dave 在这里解释 - http://blog.sqlauthority.com/2009/02/10/sql-server-start-sql-server-instance-in-single-user-mode/ - 如何使用 SQL Server 配置管理器 添加 -m
:右键单击服务器服务,转到高级选项卡并添加 -m;
(注意分号)在启动参数中。
另一种方法是在服务中停止 SQL Server 实例并从 命令行 手动运行它,如下所示:
"C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe" -m -sSQLEXPRESS
我必须为 SQL Server 2008 执行此操作,因为它没有出现在 SQL Server 2008 R2 配置管理器中。可以在服务属性中找到执行命令行。
【讨论】:
但是如何添加其他具有系统管理员角色的用户? 刚才还不能查,不过我记得你只要启动SQL Server Management Studio,连接到那个实例,右击实例,选择“添加用户...”,然后在对话窗口应该有一个系统管理员权限的复选框。 谢谢,刚刚详细找到了v-consult.be/2011/05/26/…【参考方案5】:除非您将其设置为仅接受 SQL Server 身份验证,否则您可以使用域和/或计算机的管理员用户以集成安全性登录。
【讨论】:
不一定,如果本地管理员用户或组在安装时未添加为管理员,则这不是一个选项。此外,SQL 身份验证本身不是一个选项。【参考方案6】:要使这些步骤生效,您需要是安装了 SQL Server 的机器的管理员。
从配置管理器停止 SQL Server 以单用户模式启动 SQL Server将此-mSQLCMD
命令添加为启动参数之一,方法是右键单击服务并进入启动参数部分,如下面的屏幕截图所示,然后启动 SQL Server
现在从 SQLCMD(以管理员身份打开命令提示符)连接到 SQLSERVER,如下所示:
sqlcmd -s servername\instancename
然后运行以下命令:
USE [master]
GO
CREATE LOGIN [BUILTIN\Administrators] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO
EXEC master..sp_addsrvrolemember @loginame = N'BUILTIN\Administrators', @rolename = N'sysadmin'
GO
以上命令将所有本地用户添加为系统管理员。您可以更改此设置并添加一个喜欢的用户,或者您可以创建另一个用户 sysadmin 并删除 BUILTIN\Administrators
完成后,您现在需要停止 SQL Server 并删除 -mSQLCMD
参数并重新启动 SQL Server
参考资料:Help : I lost sa password and no one has System Administrator (SysAdmin) permission. What should I do?
【讨论】:
以上是关于忘记 SQL Server 密码的主要内容,如果未能解决你的问题,请参考以下文章
SQL SERVER忘记用户名和密码了,用WINDOWS帐户也登陆不上去怎么办