Comment modifier la base de données sur le serveur lié sans droit SYSADMIN?
-
03-10-2019 - |
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!
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]