如何在没有SYSADMIN权限的情况下更改链接服务器上的数据库?

时间:2010-09-15 17:44:25

标签: sql-server permissions linked-server alter-table remote-server

我的要求是执行alter CAN NOT 的用户 sysadmin (它可以拥有所有其他权限,但不能使用sysadmin)。

我正在运行本地服务器的查询,该查询应修改远程查询

EXEC ('ALTER DATABASE REMOTEDB MODIFY FILEGROUP ftfg_REMOTEDB NAME=ftfg_REMOTEDB') at [REMOTESERVER]

一旦我将sysadmin权限添加到用户但没有权限,此查询有效,它会出现以下错误:

The server principal "USERWITHOUTSYSADMIN" is not able to access the database "REMOTEDB" under the current security context.

我在SQL Serve 2008上。

请帮助!

3 个答案:

答案 0 :(得分:0)

将EXEC命令放在存储过程中,并将该过程的执行权授予用户。它不会阻止系统管理员执行它,但它也允许其他人执行它。非常非常小心!

答案 1 :(得分:0)

您是否可以允许用户冒充具有相应权限的人?

EXEC ('ALTER DATABASE REMOTEDB MODIFY FILEGROUP ftfg_REMOTEDB NAME=ftfg_REMOTEDB') 
    AS USER = 'UserWithAppropriatePermissions'
    AT [REMOTESERVER]

答案 2 :(得分:0)

经过大量研究:这是不可能的:(