SQL Server 2008 R2 Express权限 - 无法创建数据库或修改用户

use*_*167 16 sql-server permissions sql-server-2008r2-express

最近刚刚升级到SQL Server 2008 R2 Express.当我使用Windows身份验证使用我的id roger.moore登录后尝试创建数据库时,我收到此错误:

执行Transact-SQL语句或批处理时发生异常.(Microsoft.SqlServer.ConnectionInfo)
数据库'master'中的CREATE DATABASE权限被拒绝.RESTORE HEADERONLY异常终止错误262

如果我尝试将sysadmin角色添加到roger.moore,这是我收到的错误:

为ServerRole"sysadmin"添加成员失败.(Microsoft.SqlServer.Smo)
执行Transact-SQL语句或批处理时发生异常.(Microsoft.SqlServer.ConnectionInfo)
用户无权执行此操作错误15247

如果我尝试使用此命令将此角色添加到我的用户,请使用此命令,

EXEC sp_addsrvrolemember 'ziffenergy\myuser', 'sysadmin';
GO
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误:

消息15247,级别16,状态1,过程sp_addsrvrolemember,行29
用户无权执行此操作.

有没有人有什么建议?看来我在本地机器上无法对数据库做任何事情.请注意,我是我正在使用的Windows 7工作站的管理员,如果我尝试使用SQL Server Management Studio在我们的网络IT测试数据库服务器上创建或修改数据库和/或用户,我可以毫无问题地执行此操作.

kil*_*ush 39

派对迟到了,但是如果你没有密码,我就找到了关于控制你的SQLExpress实例的精彩分步指南.我使用此过程不仅重置了我的sa密码,而且还将我的域帐户添加到所有可用的服务器角色.我现在可以使用我的正常登录创建数据库,更改登录,执行批量操作,备份/恢复等.

总而言之,您使用SQL Server配置管理器将您的实例置于单用户模式.当您连接时,这会将您提升为sysadmin,从而使您能够设置所有内容.

编辑:我已经复制了以下步骤 - 感谢上面链接的原作者.

  1. 以管理员身份(或具有管理员权限的任何用户)登录计算机
  2. 打开"SQL Server配置管理器"
  3. 单击左窗格中的"SQL Server服务"
  4. 如果正在运行,请在右窗格中停止"SQL Server"和"SQL Server代理"实例
  5. 右键单击"SQL Server"实例 - >"属性"(在SQL Server配置管理器的右窗格中),以单用户模式运行SQL Express.
  6. 单击"高级"选项卡,然后查找"启动参数".更改"启动参数",以便新值为-m; (没有<>)示例:from:-dc:\ Program Files\Microsoft SQL .............(直到字符串结尾)到:-m; -dc:\ Program Files\Microsoft SQL .............(直到字符串结尾)
  7. 启动SQL Server
  8. 打开MS SQL Server Management Studio并使用"Windows身份验证"作为身份验证模式登录到SQL Server.由于我们在单用户模式下运行SQL Server,并且您使用管理员权限登录到计算机,因此您将拥有对数据库的"sysadmin"访问权限.
  9. 在左窗格中展开MS SQL Server Management Studio上的"安全"节点
  10. 展开"登录"节点
  11. 双击"sa"登录
  12. 如果勾选"强制密码策略",则输入复杂密码更改密码,否则,只需输入任何密码即可.
  13. 单击左窗格中的"状态",确保"sa"帐户已"启用".将"登录"下的单选框设置为"已启用"
  14. 点击"确定"
  15. 回到MS SQL Server Management Studio的主窗口,右键单击左窗格中最顶层的节点(通常是".\ SQLEXPRESS(SQL Server)")并选择属性,验证是否使用了SQL Server身份验证.
  16. 单击左窗格中的"安全性",确保"SQL Server和Windows身份验证模式"是在"服务器身份验证"下选择的模式
  17. 点击"确定"
  18. 断开与MS SQL Server Management Studio的连接
  19. 再次打开"Sql Server Configuration Manager"并停止SQL Server实例.
  20. 右键单击SQL Server实例,然后单击"高级"选项卡.再次查找"启动参数"并删除"-m;" 你之前添加的.
  21. 单击"确定",然后再次启动SQL Server实例
  22. 您现在应该能够使用在步骤12中设置的新密码以"sa"身份登录.


squ*_*man 14

您可能是工作站的管理员,但这对SQL Server没有任何意义.您的登录名必须是sysadmin角色的成员才能执行相关操作.默认情况下,不再将本地管理员组添加到SQL 2008 R2中的sysadmin角色.您需要使用其他东西(例如sa)登录才能授予您自己的权限.

  • 如果您在SQL Server安装期间专门配置了您的帐户(它要求您将帐户添加到sysadmin组),那么是.它不会自动将您添加到sysadmin组,也不会自动添加除sa之外的任何内容.它应该要求您在安装过程中设置sa密码.你还记得那样吗? (2认同)