没有权限访问 SQL Server Express 2008?

没有权限访问 SQL Server Express 2008?

我有一台安装了 SQL Server 2008 并允许远程连接的远程 PC。

我是 PC 上的管理员用户,已远程连接到 SQL Server,我正在尝试从备份中恢复数据库,但我在服务器上尝试执行的任何操作都被拒绝权限!

我可以将自己添加为 SQL 数据库的登录名,但只能具有公共服务器角色!

服务器设置为以本地帐户登录,并且我也正在运行 SQL Server 浏览器!

我做错了什么或者错过了什么?

答案1

听起来您登录的帐户没有执行这些选项的权限。要授予自己这些权限,您需要以管理员身份或 SA 帐户登录(如果启用了混合模式)。

当您以管理员身份登录时,您应该能够为自己分配适当的权限,以便能够使用您自己的用户帐户恢复数据库。

答案2

解决方案,这对我很有用,由作者 Blipsolt 发布:

  1. 从服务关闭 SQL Server

  2. 打开 cmd 窗口(以管理员身份)并使用此命令以本地管理员身份运行单用户模式

    c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe" -m -s SQLEXPRESS

  3. 打开另一个 cmd 窗口(以管理员身份)

  4. 打开 sqlcmd

    sqlcmd-S .\SQLEXPRESS 复制代码

  5. 现在添加 sysadmin 用户:

    1. sp_addsrvrolemember'域\用户','sysadmin'

  6. Ctrl+C从第一个 cmd 窗口进入单用户模式来终止 SQL Server。

  7. 以正常方式从服务重新启动它。

  8. 登录管理工作室,您创建的用户应该以“sysadmin”凭证列在登录下。

答案3

SQL 2008 更改了默认权限检查这个微软

您遇到的情况可能如下: “默认情况下,本地 Windows 组 BUILTIN\Administrator 不再包含在新 SQL Server 2008 安装中的 SQL Server sysadmin 固定服务器角色中。”

答案4

值得一提的是,即使我的域帐户具有本地计算机管理员权限,但由于权限不足(正如本主题中的其他人更详细地说明的那样),我登录后也无法做任何有用的事情。我必须以本地计算机管理员帐户身份注销并重新登录,使用 Windows Auth 进入 SQL,并为我的域用户帐户添加 SQL 登录名并为其设置 sysadmin 角色。然后我使用我的域帐户重新登录,然后我就拥有了使用 Windows Auth 创建数据库、管理安全性等的完整权限。

如果可以的话,我建议安装具有混合模式的 SQL 2008 并设置 SA 密码,至少直到您进入并为您的环境进行配置。

相关内容