Share via


Características de ejecución de los procedimientos almacenados extendidos

Nota importanteImportante

Esta característica se quitará en una versión futura de Microsoft SQL Server. No utilice esta característica en nuevos trabajos de desarrollo y modifique lo antes posible las aplicaciones que actualmente la utilizan. En su lugar, utilice la integración CLR.

La ejecución de un procedimiento almacenado extendido tiene estas características:

  • La función de procedimiento almacenado extendido se ejecuta en el contexto de seguridad de Microsoft SQL Server.

  • La función de procedimiento almacenado extendido se ejecuta en el espacio de procesos de SQL Server.

  • El subproceso asociado a la ejecución del procedimiento almacenado extendido es el mismo que se utiliza para la conexión de cliente.

    Nota de seguridadNota de seguridad

    Antes de agregar procedimientos almacenados extendidos al servidor y otorgar permisos de ejecución a otros usuarios, el administrador del sistema debe revisar por completo cada procedimiento almacenado extendido para asegurarse de que no contiene código perjudicial o dañino.

Después de que se cargue la DLL de procedimiento almacenado, ésta permanece cargada en el espacio de direcciones del servidor hasta que se detenga SQL Server o el administrador descargue explícitamente la DLL utilizando DBCC DLL_name (FREE).

El procedimiento almacenado extendido se puede ejecutar desde Transact-SQL como un procedimiento almacenado utilizando la instrucción EXECUTE:

EXECUTE @retval = xp_extendedProcName @param1, @param2 OUTPUT

Parámetros

  • @ retval
    Es un valor devuelto.

  • @ param1
    Es un parámetro de entrada.

  • @ param2
    Es un parámetro de entrada/salida.

    Nota de advertenciaAdvertencia

    Los procedimientos almacenados extendidos proporcionan mejoras de rendimiento y amplían la funcionalidad de SQL Server. No obstante, como la DLL de procedimiento almacenado extendido y SQL Server comparten el mismo espacio de direcciones, un procedimiento con problemas puede afectar de forma negativa al funcionamiento de SQL Server. Aunque SQL Server administra las excepciones generadas por la DLL de procedimiento almacenado extendido, es posible que las áreas de datos de SQL Server resulten dañadas. Como medida de seguridad preventiva, sólo los administradores del sistema SQL Server pueden agregar los procedimientos almacenados extendidos a SQL Server. Antes de instalar estos procedimientos, se deberían probar con detenimiento.