Condividi tramite


Caratteristiche dell'esecuzione di stored procedure estese

Nota importanteImportante

Questa caratteristica verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Non utilizzare questa caratteristica in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui è attualmente implementata. Utilizzare invece la funzionalità di integrazione con CLR.

L'esecuzione di una stored procedure estesa presenta tre caratteristiche:

  • La funzione della stored procedure estesa viene eseguita nel contesto di protezione di Microsoft SQL Server.

  • La funzione della stored procedure estesa viene eseguita nello spazio di processo di SQL Server.

  • Il thread associato all'esecuzione della stored procedure estesa è lo stesso utilizzato per la connessione client.

    Nota sulla sicurezzaNota sulla sicurezza

    Prima di aggiungere stored procedure estese al server e concedere le autorizzazioni di esecuzione ad altri utenti, è necessario che l'amministratore di sistema esamini con attenzione ogni stored procedure estesa per verificare che non contenga codice dannoso o malware.

Dopo che è stata caricata, la DLL della stored procedure estesa rimane caricata nello spazio degli indirizzi del server fino a quando SQL Server non viene arrestato o l'amministratore non scarica in modo esplicito la DLL tramite DBCC DLL_name (FREE).

La stored procedure estesa può essere eseguita da Transact-SQL come stored procedure mediante l'istruzione EXECUTE:

EXECUTE @retval = xp_extendedProcName @param1, @param2 OUTPUT

Parametri

  • @ retval
    È un valore restituito.

  • @ param1
    È un parametro di input.

  • @ param2
    È un parametro di input/output.

    Nota di attenzioneAttenzione

    Le stored procedure estese offrono miglioramenti delle prestazioni ed estendono la funzionalità SQL Server, tuttavia dal momento che la DLL della stored procedure estesa e SQL Server condividono lo stesso spazio degli indirizzi, una procedura problematica può compromettere il funzionamento di SQL Server. Sebbene le eccezioni generate dalla DLL delle stored procedure estese vengano gestite da SQL Server, è possibile danneggiare le aree dati di SQL Server. Come precauzione di protezione, solo gli amministratori di sistema di SQL Server possono aggiungere stored procedure estese a SQL Server. È consigliabile testare completamente tali procedure prima dell'installazione.