如何在SQL Server Management Studio中获得管理员权限(&Q;)?

2022-03-07 00:00:00 sql-server ssms

我使用SQL Management Studio 2008 Express作为本地SQL Server 2008 Express实例的图形界面,这两个实例仅在本地用作我的Web项目的测试和开发界面。

我最近对SQL编码变得更有信心了,并开始使用一些更复杂的SQL内容-我最新的探索领域是触发器。但是,令我非常惊讶的是,我似乎在我的服务器实例上没有管理员权限,这意味着我不能执行调试或更改访问权限等简单操作。

当我尝试开始调试时,我收到一条权限被拒绝消息,当我尝试管理不同数据库的权限规则时,我也看到了该消息。我怀疑这与我在安装服务器时选择的某个选项有关,但由于我已经设置了几个数据库并填充了数据,所以我不想卸载并重新安装整个服务器。

有没有办法更改哪个用户帐户是服务器实例的主管理员?如果没有,是否有其他方法可以获得权限,例如调试我的触发器?


解决方案

以本地管理员帐户登录到您的计算机。默认情况下,该角色应该是MSSQL中的sysadmin角色。

使用SSMS,使用集成身份验证连接到您的MSSQL实例。您现在是系统管理员。作为系统管理员,您现在可以add your normal user account to the sysadmin role:

EXEC sp_addsrvrolemember @loginame = 'PC_OR_DOMAINloginname', @rolename = 'sysadmin'
如果您使用SSPI(也称为集成身份验证,也称为启动SSMS时不使用不同的用户名和密码),则只需使用您的Windows登录名作为登录名。如果您使用SQL Server身份验证(也称为用户名和密码),则使用用户名作为登录名。如果您使用任何其他登录名,还将创建一个帐户。

当然有一种方法可以在GUI中做到这一点--但是我手边没有自动取款机来告诉您如何做到这一点。我认为它位于"安全"->"登录"->"属性"和各种服务器角色的一些复选框下。

编辑:Enabling the local admin account on Vista 此外,如果您是本地管理员(您的用户帐户列在本地管理员组下),则-by default-您是系统管理员。可能需要仔细检查sysadmin角色(SQL)和Local Admins组(Vista)的成员。

Edit2:原来是SQL 2008does not add BUILTINAdministators。在这种情况下,您需要检查您做了添加了什么。它应该可以通过"登录"节点获得。有一条说明,如果您不选择sysadmin登录,您可以成为locked outMSSQL管理员。如果是这样的话,我会重新安装。您可以通过停止MSSQL并复制*.mdf和*.LDF文件来保存数据库。重新安装后,将它们复制回去,然后使用sp_attach_db重新连接它们。

相关文章