Windows 管理员没有 SQL 服务器的权限

Windows Administrator doesn't have permission on SQL Server

我以前的系统管理员使用他的域用户在我的本地计算机上创建了一个 SQL Server 2008 实例。 现在,我无法在该实例上创建、删除或查看任何数据库或表。即使是我的域用户,或 Windows 本地管理员。 它说 "CREATE DATABASE permission denied in master"。 Management studio 中的用户部分仅显示禁用的两个用户 'BUILTIN\Users' 和 'sa'。 'Builtin\Users' 只有 public 角色。 似乎没有用户有权访问此实例。我的本地管理员如何获得权限? 我无法删除该实例,因为它有重要的数据库。

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

1) 以单用户模式启动SQL服务器

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

2) 运行 SQLCMD 添加配置额外的系统管理员角色成员:

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

3) 正常重启 SQL 服务器,您现在可以作为系统管理员连接

请注意,您可以在步骤 2 中将任何 Windows 用户或组指定为系统管理员角色成员。

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