这相当令人尴尬,但我不小心从 SQL Server 2008 用户列表中删除了我的 Windows 帐户,而且我一辈子都不知道如何重新添加自己,因为我没有登录权限。
服务器正在我的计算机上运行,唯一有权访问的其他 Windows 用户是 IUSR、NETWORK SERVICE 和 SYSTEM。除了重新安装之外我还能做些什么吗?
最佳答案
我最近还从本地开发 2008 服务器中删除了我的 Windows 帐户。我能够使用 SQL Server 的单用户模式重新创建登录并将其添加到 sysadmin 角色。只需几分钟,我不必向任何人承认我的可怕错误。
来自 MSDN:
Starting SQL Server in single-user mode enables any member of the computer's local Administrators group to connect to the instance of SQL Server as a member of the sysadmin fixed server role.
以下是我恢复 self 的方法:
- 退出 SSMS
- 停止任何 SQL 相关服务。我不得不停止 Reporting Services。其他 SQL 服务(例如 SQL 代理)也将耗尽您一个宝贵的连接。
- 停止 SQL 服务
- 使用额外参数
-m
启动SQL服务。这将使 SQL 进入单用户模式。这意味着 SQL 将只接受一个连接。 - 使用
sqlcmd
通过-E
可信连接选项连接到您的服务器。如果您是本地管理员,SQL 将接受您担任sysadmin
角色。 在交互式 session 中,创建您的登录名并添加到
sysadmins
角色。USE master GO CREATE LOGIN [domain\username] FROM WINDOWS WITH DEFAULT_DATABASE=[Master] GO EXEC sp_addsrvrolemember @loginame=N'domain\username', @rolename=N'sysadmin' GO
- 停止 SQL 服务,删除
-m
参数并重新启动该服务。您现在应该能够返回 SSMS 并继续正常使用服务器。
如果您收到消息:
Login failed for user 'domain\username'. Reason: Server is in single user mode. Only one administrator can connect at this time.
然后有一些东西正在使用您的单个连接。您需要找到该服务或连接并停止它,然后才能登录。检查 SQL 代理、SQL 报告服务、SQL 分析服务等。
关于sql-server - SQL Server 2008 - 删除默认用户后添加 Windows 帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1528538/