2

我有一个本地 SQL Server Express 2005,但我不知道它的 SA 密码。我总是用我的 NT 登录名连接,当我创建我现在要访问的数据库时,我使用了它。

我的公司拆分了,我现在是一个新域的成员。与旧域不再有任何联系。我的帐户位于新用户域中,并且是运行 SQL Server 的计算机上的本地管理员。

我可以通过 Management Studio 访问服务器,但不再是我的用户数据库。我也不再被认为是服务器管理员。显然,本地 NT 管理员不会自动映射为 SQL 管理员。

在这个阶段有没有办法做到这一点?我能否以某种方式恢复对 SA 访问级别的访问?

提前致谢。

4

2 回答 2

1

我自己没有尝试过,但是如果您是该本地计算机上的 Windows 管理员,那么在单用户模式下运行数据库应该会给您 SQL Server 管理员权限。

SQLServr.Exe –m

找到了一篇描述完整过程的技术网帖子:http: //blogs.technet.com/b/sqlman/archive/2011/06/14/tips-amp-tricks-you-have-lost-access-to-sql-服务器-现在-what.aspx

于 2015-08-03T14:31:52.607 回答
0

您可能会发现此解决方案很优雅: https ://www.mssqltips.com/sqlservertip/2682/recover-access-to-a-sql-server-instance/#comments 对我来说,它不适用于 SQL2016,但正如作者所说,它适用于旧版本的 MS SQL。引用(来自上面的链接):感谢 Sysinternals 的 Mark Russinovich 成名,有一种非常轻松的方法可以解决这个问题而无需任何停机:PsExec。虽然它不是其主要设计目标之一,但 PsExec 允许您以 NT AUTHORITY\SYSTEM 帐户运行程序,与“常规”管理员帐户不同,该帐户具有对 SQL Server 的固有访问权限。PsExec -s -i "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe" 现在,您可以进入 Security > Logins 并将您的帐户添加为系统管理员,添加其他管理员帐户,更新 sa 密码,并执行您需要执行的任何其他操作以使您的实例易于管理。如你看到的,

于 2019-04-17T11:05:38.557 回答