我以前的系统管理员使用他的域用户在我的本地计算机上创建了一个 SQL Server 2008 实例。 现在,我无法在该实例上创建、删除或查看任何数据库或表。即使是我的域用户或 Windows 本地管理员。 它说“CREATE DATABASE 权限在 master 中被拒绝”。 Management studio 中的用户部分仅显示两个用户“BUILTIN\Users”和已禁用的“sa”。 'Builtin\Users' 只有公共(public)角色。 似乎没有用户有权访问此实例。我的本地管理员如何获得权限? 我无法删除该实例,因为它有重要的数据库。
最佳答案
如果您的 DBA 没有将本地管理员配置为系统管理员角色成员。如果您是本地管理员,则可以在安装后执行此操作。从管理员命令提示符:
1) 以单用户模式启动SQL Server
- 默认实例:
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 Server,您现在可以作为系统管理员连接
请注意,您可以在第 2 步中将任何 Windows 用户或组指定为系统管理员角色成员。
在 SQL Server 2012 及更高版本中使用 ALTER SERVER ROLE sysadmin ADD MEMBER [BUILTIN\Administrators];
而不是 sp_addsrvrolemember
。 sp_addsrvrolemember
过程在 SQL Server 2012 中已弃用,取而代之的是 DCL 语法。
关于sql-server - Windows 管理员没有 SQL Server 的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28794079/