No hay un tamaño máximo predefinido de un procedimiento.
Las variables especificadas en el procedimiento pueden ser definidas por el usuario o variables del sistema, como @@SPID.
Cuando se ejecuta un procedimiento por primera vez, se compila para determinar un plan de acceso óptimo para recuperar los datos. Las ejecuciones posteriores del procedimiento pueden reutilizar el plan ya generado si aún permanece en la memoria caché del plan del Motor de base de datos.
Uno o más procedimientos pueden ejecutarse automáticamente cuando se inicia SQL Server. Los procedimientos deben ser creados por el administrador del sistema en la base de masterdatos y ejecutados bajo la función fija del servidor sysadmin como un proceso en segundo plano. Los procedimientos no pueden tener ningún parámetro de entrada o salida. Para obtener más información, consulte Ejecutar un procedimiento almacenado .
Los procedimientos se anidan cuando un procedimiento llama a otro o ejecuta código administrado haciendo referencia a una rutina, tipo o agregado de CLR. Los procedimientos y las referencias de código administrado se pueden anidar hasta en 32 niveles. El nivel de anidamiento aumenta en uno cuando el procedimiento llamado o la referencia de código administrado comienza a ejecutarse y disminuye en uno cuando el procedimiento llamado o la referencia de código administrado completa la ejecución. Los métodos invocados desde dentro del código administrado no cuentan para el límite del nivel de anidamiento. Sin embargo, cuando un procedimiento almacenado de CLR realiza operaciones de acceso a datos a través del proveedor administrado de SQL Server, se agrega un nivel de anidamiento adicional en la transición del código administrado a SQL.
Intentar exceder el nivel máximo de anidamiento hace que falle toda la cadena de llamadas. Puede utilizar la función @@NESTLEVEL para devolver el nivel de anidamiento de la ejecución del procedimiento almacenado actual.