Exécuter xp_create_subdir sans les privilèges d'administration

Le point: Je veux être capable de créer un directory sur le système de files via un user SQL non-sysadmin.

Je crée une interface Web pour un script de deployment qui crée de nouvelles bases de données à partir d'une database de templates spécifiée.

Essentiellement, je sauvegarde cette database de templates et la restaure comme une nouvelle database avec un nom différent.

Notre server de DB a nos bases de données client stockées dans des sous-dossiers dans notre magasin de database. Si je devais utiliser les parameters par défaut, cela ressemblerait à ceci:

D: \ Microsoft SQL Server \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ [ClientRef] \ [ClientRef] .mdf D: \ Microsoft SQL Server \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ [ClientRef] \ [ClientRef] .ldf

J'ai seulement un access SQL au server de database (via un langage de programmation, hébergé sur une boîte séparée) donc je ne peux pas exécuter autre chose que SQL.

Mon user de database est extrêmement limité, mais je voudrais en quelque sorte accorder à cet user d'accéder / exécuter master.dbo.xp_create_subdir seulement. Est-ce possible?

Je déteste donner à notre user DB local des droits d'administrateur système, il a un user limité pour une raison.

DB Server est Microsoft SQL Server 2008 R2.

Bravo, toute aide sera appréciée.

Vous pouvez autoriser l'user à utiliser explicitement ce proc enregistré. Ça va être quelque chose comme:

GRANT EXECUTE ON OBJECT::master.dbo.xp_create_subdir TO <SQL USER>; 

Il semble que cet user soit limité pour une raison et get les permissions supplémentaires pour exécuter quelque chose comme ça peut être légèrement repoussé par celui qui gère la database. Alors soyez prudent lorsque vous avez affaire à l'obtention des privilèges élevés.