xp_cmdshell (option de configuration de serveur)

S’applique à :SQL Server

Cet article explique comment activer l’option de configuration xp_cmdshell SQL Server. Cette option permet aux administrateurs système de contrôler si la procédure stockée étendue xp_cmdshell peut être exécutée sur un système. Par défaut, l’option xp_cmdshell est désactivée sur les nouvelles installations.

Avant d’activer cette option, il est important de prendre en compte les implications potentielles en matière de sécurité.

  • Le code récemment développé ne doit pas utiliser la procédure stockée xp_cmdshell et, en général, il doit être désactivé.
  • Certaines applications héritées nécessitent l’activation de xp_cmdshell. Si elles ne peuvent pas être modifiés pour éviter l’utilisation de cette procédure stockée, vous pouvez l’activer comme indiqué ci-dessous.

Notes

Si xp_cmdshell doit être utilisé, il est recommandé, pour des raisons de sécurité, de l’activer uniquement pendant la durée d’exécution de la tâche qui l’exige. L’utilisation de xp_cmdshell peut déclencher des outils d’audit de sécurité.

Si vous devez activer xp_cmdshell, vous pouvez utiliser la gestion basée sur des stratégies ou exécuter la procédure stockée système sp_configure, comme indiqué dans l’exemple de code suivant :

-- To allow advanced options to be changed.
EXECUTE sp_configure 'show advanced options', 1;
GO

-- To update the currently configured value for advanced options.
RECONFIGURE;
GO

-- To enable the feature.
EXECUTE sp_configure 'xp_cmdshell', 1;
GO

-- To update the currently configured value for this feature.
RECONFIGURE;
GO

-- To set "show advanced options" back to false
EXECUTE sp_configure 'show advanced options', 0;
GO

-- To update the currently configured value for advanced options.
RECONFIGURE;
GO

Étapes suivantes