SQL Server 2012: 无法更改登录名为sa的用户

13
我正在尝试使用SSMS版本11.0.2100.60在我的本地计算机上创建一个数据库。我已经以管理员身份运行了应用程序,使用Windows身份验证登录,并将MYDOMAIN\my-username添加到登录名中。但是,如果我尝试使用此登录名创建数据库,我会收到以下消息:
CREATE DATABASE permission denied in database 'master'. 
(Microsoft SQL Server, Error: 262)

如果我尝试将dbcreator权限添加到我的用户中,我会收到以下错误。

User does not have permission to perform this action. 
(Microsoft SQL Server, Error: 15247)

由于我不知道/记不得密码,所以无法使用sa账户登录(有预设默认密码吗?)。如果尝试更改密码,会收到以下提示信息:

Cannot alter the login 'sa', because it does not exist or you do not have permission. 
(Microsoft SQL Server, Error: 15151)

最后我注意到帐户'sa'已被禁用,如果我尝试启用它,我会得到与之前相同的错误。有没有解决方法,还是我需要重新安装?

版本信息:

Microsoft SQL Server Management Studio                      11.0.2100.60
Microsoft Analysis Services Client Tools                        11.0.2100.60
Microsoft Data Access Components (MDAC)                     6.2.9200.16384
Microsoft MSXML                     3.0 4.0 6.0 
Microsoft Internet Explorer                     9.10.9200.16635
Microsoft .NET Framework                        4.0.30319.18051
Operating System                        6.2.9200

尝试以管理员身份运行SSMS。 - gerrytan
3个回答

8

更加具体的步骤如下:

  1. 打开 SQL 配置管理器。
  2. 选择 SQL Server 服务。
  3. 在右侧选择实例。
  4. 右键单击它,打开属性。
  5. 在高级选项卡中,在“启动参数”字段的末尾添加“;-m”。
  6. 应用并重启服务。
  7. 现在您可以有权限启用“sa”用户并修改其密码。
  8. 完成后,删除“;-m”并重新启动服务。
  9. 您已经可以使用了。

1
添加按钮已禁用,请告诉我如何添加参数。 - Satish Kumar sonker
2
这个答案是无价的。 - Bhawna Jain
2
为了清晰起见,请在“启动参数”选项卡下添加“-m”。我还无法启动SQL 服务器配置管理器,遇到了一些WMI提供程序错误。请观看视频以修复它。 - Shaiju T
接下来的步骤是打开提升权限的命令提示符,然后运行 sqlcmd -S .\SQLEXPRESS,接着输入 EXEC sp_password NULL, 'yournewpasswordhere', 'sa' - M.M

7
我在这里找到了答案:链接
为了以单用户模式启动SQL Server,您可以在命令行中添加参数“-m”。您也可以使用SQL Server Configuration Manager工具,该工具提供了适当的控件用于文件访问和其他特权。要使用Configuration Manager工具恢复系统,请按照以下步骤操作:
1.从“SQL Server 2005| Configuration”菜单中打开Configuration Manager工具。 2.停止需要恢复的SQL Server实例。 3.导航到“高级”选项卡,在“启动参数”选项中的属性文本框中在列表末尾添加“;-m”。 4.单击“确定”按钮并重新启动SQL Server实例。

谢谢您!我以为除了卸载SQL服务器之外没有解决方案! - Ibrahim Amer

2

我想指出在DBA SE上提供的一种备选答案。将PSExec下载到遇到问题的计算机上,并按照此博客文章中的说明轻松地使用NT Authority\System帐户更改管理员设置。

./psexec -s -i "C:\...\Ssms.exe"

我想分享这个解决方案,因为它解决了我的问题!


你可能需要禁用用户账户控制 (UAC) - 对于我来说不是一个选择... 但除此之外,这似乎是一个好的解决方案。 - tdc
我能够在不更改UAC设置的情况下完成它!唯一的问题是,如果您未经授权就无法将文件移动到您的网络上,则会出现问题;我知道这个问题存在于许多域中。 - Shrout1
这很有用,因为在运行PsExec.exe并查看许可协议时才发现sysinternals是“微软的全资子公司”。 - fortboise
我能够使用NTAUTHORITY超级权限修改SQL Server Express 2008实例的sa密码并启用登录,但尝试同样修复SQL Server 2012安装时失败,显示我的登录没有权限。当强大工具失效时该怎么办? - fortboise

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接