所以我在Windows 7机器上安装了SQL Server 2008 R2。我能够使用我的Windows身份验证登录。现在当我尝试创建一个新数据库时,它给了我这个错误说" CREATE DATABASE权限被拒绝数据库'master'"。我尝试了很多与此问题相关的链接但仍然失败。这些是我尝试的选项:
1)去了SQL Server配置管理器然后通过添加-m更改了高级选项卡中的参数。它仍然没有帮助我。当我添加此参数并尝试使用Windows身份验证再次登录时它会给我一条消息说"只有一个管理员可以在单用户模式下登录"。
2)安装时我确信我在sysadmin角色下添加了当前用户。我还确保了"混合模式身份验证"选择后,然后为用户提供密码" sa"。现在,当我尝试使用该密码时,它表示"用户sa登录失败"。
3)当我使用Windows身份验证登录,然后按照以下步骤检查登录模式:
右键单击主实例名称 - >属性 - >安全性,它显示只选择了Windows身份验证模式。但我非常确定我选择了"混合模式身份验证"不知道为什么会以这种方式显示它。
4)我也尝试修改sa的密码,但当前用户没有权限。我无法对该用户执行任何操作。
我知道这个问题有不同的链接。但我尝试了这些链接中提到的所有选项,但它仍然给我一个问题。我一直试图解决这个问题很长一段时间。可以任何人建议我在这里缺少什么。
答案 0 :(得分:0)
解决!我有同样的问题。我根据文章中的信息和this链接中第一个评论员的评论来计算出来。
我将以粗体复制作者的步骤并进行必要的修改:
- 从“SQL Server 2005 |配置”菜单中打开配置管理器工具
- 停止恢复所需的SQL Server实例(SQL Server和SQL Server代理。一旦处于单用户模式,如果没有停止,代理将占用连接,阻止您将其与sqlcmd一起使用。 EXE)。强>
- 在SQL配置管理器中,单击左侧的SQL Server服务,然后右键单击右侧的SQL Server,导航到“高级”选项卡(或“SQL的更新版本的启动参数”),并在属性文本框在“启动参数”选项的列表末尾添加“-m”。
单击“确定”按钮并重新启动SQL Server实例(仅限SQL Server。暂时不要重新启动SQL Server代理。)注意:确保两者之间没有空格“;”和“-m”,注册表 参数解析器对这种拼写错误很敏感。你应该看到一个条目 在SQL Server ERRORLOG文件中,显示“SQL Server已启动 单用户模式。“
在单用户模式下启动SQL Server实例后,Windows管理员帐户可以使用SQL Server连接到SQL Server sqlcmd实用程序(可能在这里,或者某个地方非常相似:C:\ Program Files \ Microsoft SQL Server \ 110 \ Tools \ Binn \ SQLCMD.EXE)使用Windows身份验证。您可以使用 Transact-SQL命令,如“sp_addsrvrolemember”,用于添加现有的 登录(或新创建的)到sysadmin服务器角色。该 以下示例将“CONTOSO”域中的“Buck”帐户添加到 SQL Server“sysadmin”角色:EXEC sp_addsrvrolemember 'CONTOSO \ Buck','系统管理员'; GO
- 重新启动/启动SQL Server代理,返回SQL Server配置管理器。
醇>