2010-11-02 20 views
0

Je souhaite créer une procédure stockée pour effectuer une insertion en bloc afin qu'un utilisateur auquel j'accorde l'accès à la procédure stockée puisse l'exécuter sans aucune autre autorisation.Autorisations pour une procédure stockée avec insertion en bloc

Y a-t-il un moyen d'accorder "ADMINISTER BULK OPERATIONS" à la procédure stockée afin de ne pas avoir à accorder des autorisations d'opérande groupé à l'utilisateur?

Y a-t-il une autre solution?

J'utilise SQL Server 2005.

Répondre

1

Vous pouvez modifier la procédure stockée à utiliser "EXECUTE AS" pour le faire tourner dans un contexte différent.

+0

Ce serait bien, sauf qu'il y a un bogue dans SQL qui empêche cela de fonctionner pour les insertions en vrac. https://connect.microsoft.com/SQLServer/feedback/details/125602/the-rights-for-administer-bulk-operations-are-checked-at-the-wrong-tmie – GordyII

+1

Plus de détails pour quiconque essaie de le faire cela, EXECUTE AS fonctionne très bien dans SQL Server 2008, mais seulement si vous "ALTER DATABASE [nom_base] SET TRUSTWORTHY ON", sinon vous obtiendrez une erreur générique d'autorisations. –