sql-server - Windows 管理员没有 SQL Server 的权限

标签 sql-server sql-server-2008

我以前的系统管理员使用他的域用户在我的本地计算机上创建了一个 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_addsrvrolemembersp_addsrvrolemember 过程在 SQL Server 2012 中已弃用,取而代之的是 DCL 语法。

关于sql-server - Windows 管理员没有 SQL Server 的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28794079/

相关文章:

sql-server - 如何在一个查询中连接一列中多行的字符串 + 内部联接

sql-server-2008 - 通过使用NOLOCK提示避免死锁

sql - 如何使用约束对话框向 SQL Server 2008 添加约束?

SQL 查询帮助 : Transforming Dates In A Non-Trivial Way

sql-server - 从 SQL Management Studio 查询 Access 数据库,无需使用链接服务器

jquery - FullCalender.io 与经典 ASP

mysql - 包含数据库信息的表

database - 如何按名称查找存储过程?

sql-server - SQL Server 2008,我可以在 udf 中的 select 语句中引用临时表吗?

sql - 将逗号分隔的值放入单独或不同的列中