Ver la definición de un procedimiento almacenado

Puede ver la definición de un procedimiento almacenado en SQL Server Management Studio mediante Explorador de objetos opciones de menú o en el Editor de Power Query mediante Transact-SQL. En este tema se describe cómo ver la definición del procedimiento en el Explorador de objetos y utilizar un procedimiento almacenado del sistema, una función del sistema y una vista de catálogo de objetos en el Editor de consultas.

Antes de empezar

Seguridad

Permisos

Procedimiento almacenado del sistema: sp_helptext
Debe pertenecer al rol public . Las definiciones de los objetos del sistema están visibles públicamente. La definición de objetos de usuario está visible para el propietario del objeto o para los receptores que dispongan de uno de los siguientes permisos: ALTER, CONTROL, TAKE OWNERSHIP o VIEW DEFINITION.

Función del sistema: OBJECT_DEFINITION
Las definiciones de los objetos del sistema están visibles públicamente. La definición de objetos de usuario está visible para el propietario del objeto o para los receptores que dispongan de uno de los siguientes permisos: ALTER, CONTROL, TAKE OWNERSHIP o VIEW DEFINITION. Estos permisos corresponden implícitamente a los miembros de los roles fijos de base de datos db_owner, db_ddladminy db_securityadmin .

Vista de catálogo de objetos: sys.sql_modules
La visibilidad de los metadatos en las vistas de catálogo se limita a los elementos protegibles y que son propiedad de un usuario o sobre los que el usuario tiene algún permiso. Para obtener más información, consulte Metadata Visibility Configuration.

Ver la definición de un procedimiento almacenado

Puede usar cualquiera de los siguientes medios:

Uso de SQL Server Management Studio

Para ver la definición de un procedimiento en el Explorador de objetos

  1. En el Explorador de objetos, conéctese a una instancia de Motor de base de datos y expándala.

  2. Expanda Bases de datos, expanda la base de datos a la que pertenece el procedimiento y, a continuación, expanda Programación.

  3. Expanda Procedimientos almacenados, haga clic con el botón derecho en el procedimiento y luego en Incluir procedimiento almacenado como. A continuación, haga clic en uno de los siguientes: Create To, Alter To o Drop and Create To.

  4. Seleccione Nueva ventana del Editor de consultas. Se mostrará la definición del procedimiento.

Usar Transact-SQL

Para ver la definición de un procedimiento en el Editor de consultas

Procedimiento almacenado del sistema: sp_helptext

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra de herramientas, haga clic en Nueva consulta.

  3. En la ventana de consulta, escriba la siguiente instrucción que usa el procedimiento almacenado del sistema sp_helptext. Cambie el nombre de la base de datos y el nombre del procedimiento almacenado de forma que hagan referencia a la base de datos y al procedimiento almacenado que desee.

    USE AdventureWorks2012;  
    GO  
    EXEC sp_helptext N'AdventureWorks2012.dbo.uspLogError';  
    

Función del sistema: OBJECT_DEFINITION

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra de herramientas, haga clic en Nueva consulta.

  3. En la ventana de consulta, escriba las siguientes instrucciones que usan la función del sistema OBJECT_DEFINITION. Cambie el nombre de la base de datos y el nombre del procedimiento almacenado de forma que hagan referencia a la base de datos y al procedimiento almacenado que desee.

    USE AdventureWorks2012;  
    GO  
    SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));  
    

Vista de catálogo de objetos: sys.sql_modules

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra de herramientas, haga clic en Nueva consulta.

  3. En la ventana de consulta, escriba las siguientes instrucciones que usan la vista de catálogo sys.sql_modules. Cambie el nombre de la base de datos y el nombre del procedimiento almacenado de forma que hagan referencia a la base de datos y al procedimiento almacenado que desee.

    USE AdventureWorks2012;  
    GO  
    SELECT definition  
    FROM sys.sql_modules  
    WHERE object_id = (OBJECT_ID(N'AdventureWorks2012.dbo.uspLogError'));  
    

Consulte también

Crear un procedimiento almacenado
Modificar un procedimiento almacenado
Eliminar un procedimiento almacenado
Cambiar el nombre de un procedimiento almacenado
OBJECT_DEFINITION (Transact-SQL)
sys.sql_modules (Transact-SQL)
sp_helptext (Transact-SQL)
OBJECT_ID (Transact-SQL)