Question

Mon exigence est que l'utilisateur d'effectuer alter NE PEUT PAS de sysadmin (il peut avoir tous les autres droits, mais pas sysadmin).

Je suis en cours d'exécution d'une requête de serveur local qui devrait modifier une distance

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

Cette requête fonctionne une fois que je Cumulez sysadmin à l'utilisateur, mais sans droit, il donne l'erreur suivante:

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

Je suis sur SQL Serve 2008.

S'il vous plaît Aide!

Était-ce utile?

La solution 3

Après beaucoup de recherches: Ce n'est pas possible: (

Autres conseils

Mettre la commande EXEC dans une procédure stockée et d'accorder l'exécution de la procédure à l'utilisateur. Il ne nous arrêterons pas un sysadmin d'exécuter, mais il permettra à d'autres d'exécuter aussi bien. Soyez très, très prudent avec cela!

Pouvez-vous permettre à l'utilisateur de se faire passer pour quelqu'un avec les autorisations appropriées?

EXEC ('ALTER DATABASE REMOTEDB MODIFY FILEGROUP ftfg_REMOTEDB NAME=ftfg_REMOTEDB') 
    AS USER = 'UserWithAppropriatePermissions'
    AT [REMOTESERVER]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top