xp_cmdshell (opzione di configurazione del server)

Si applica a:SQL Server

Questo articolo descrive come abilitare l'opzione di configurazione di SQL Server xp_cmdshell. Questa opzione consente agli amministratori di sistema di controllare se la stored procedure xp_cmdshell può essere eseguita in un sistema. Per impostazione predefinita, nelle nuove installazioni l'opzione xp_cmdshell risulta disabilitata.

Prima di abilitare questa opzione, è importante prendere in considerazione le potenziali implicazioni per la sicurezza.

  • Si consiglia di non usare la stored procedure xp_cmdshell nel nuovo codice sviluppato e in generale deve essere lasciata disabilitata.
  • Per alcune applicazioni legacy è necessario abilitare xp_cmdshell. Se non possono essere modificate per evitare l'uso di questa stored procedure, è possibile abilitarla come descritto di seguito.

Nota

Se è necessario usare xp_cmdshell, come procedura consigliata per la sicurezza è consigliabile abilitarla solo per la durata dell'attività che la richiede. L'uso di xp_cmdshell può attivare gli strumenti di controllo della sicurezza.

Se è necessario abilitare xp_cmdshell, è possibile usare la gestione basata su criteri o eseguire la stored procedure di sistema sp_configure, come illustrato nell'esempio di codice seguente:

-- 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

Passaggi successivi