Windows 管理员没有 SQL Server 的权限

Yes*_*ses 3 sql-server sql-server-2008

我以前的系统管理员使用他的域用户在我的本地计算机上创建了一个 SQL Server 2008 实例。现在,我无法创建、删除或查看该实例上的任何数据库或表。即使是我的域用户或 Windows 本地管理员。它说“主数据库中的创建数据库权限被拒绝”。Management studio 中的用户部分仅显示两个用户“BUILTIN\Users”和“sa”,该用户已被禁用。“Builtin\Users”仅具有公共角色。似乎没有用户有此实例的权限。我的本地管理员如何获得它的权限?我无法删除该实例,因为它有重要的数据库。

Dan*_*man 5

如果您的 DBA 没有将本地管理员配置为 sysadmin 角色成员。如果您是本地管理员,则可以在安装后执行此操作。从管理员命令提示符处:

1)以单用户模式启动SQL Server

  • 默认实例:NET START MSSQLSERVER /m
  • 命名实例:NET START MSSQL$YourInstanceName /m

2) 运行 SQLCMD 以添加额外的 sysadmin 角色成员:

  • 默认实例:SQLCMD -E -Q "sp_addsrvrolemember N'BUILTIN\Administrators', N'sysadmin';"
  • 命名实例:SQLCMD -E -S.\YourInstanceName -Q "sp_addsrvrolemember N'BUILTIN\Administrators', N'sysadmin';"

3) 正常重新启动 SQL Server,您现在可以作为系统管理员进行连接

请注意,您可以在步骤 2 中指定任何 Windows 用户或组作为 sysadmin 角色成员。

在 SQL Server 2012 及更高版本中使用ALTER SERVER ROLE sysadmin ADD MEMBER [BUILTIN\Administrators];代替。sp_addsrvrolemembersp_addsrvrolemember过程在 SQL Server 2012 中已被弃用,取而代之的是 DCL 语法。