Compartir a través de


Ver la definición de un procedimiento almacenado

Puede ver la definición de un procedimiento almacenado en SQL Server Management Studio mediante las opciones de menú del Explorador de objetos o en el Editor de consultas 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

  • Para ver la definición de un procedimiento usando: SQL Server Management Studio, Transact-SQL

Antes de empezar

Seguridad

Permisos

[Arriba]

  • Procedimiento almacenado del sistema: sp_helptext
    Requiere la pertenencia al rol public. Las definiciones de los objetos del sistema están visibles públicamente. La definición de los objetos de usuario está visible para el propietario del objeto o los receptores de los permisos siguientes: 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 los objetos de usuario está visible para el propietario del objeto o los receptores de los permisos siguientes: 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_ddladmin y 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, vea Configuración de visibilidad de los metadatos.

Ver la definición de un procedimiento almacenado

Puede usar cualquiera de los siguientes medios:

  • SQL Server Management Studio

  • Transact-SQL

Usar 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 del 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, por último, expanda Programación.

  3. Expanda Procedimientos almacenados, haga clic con el botón secundario en el procedimiento; a continuación, haga clic en Incluir procedimiento almacenado como y, por último, haga clic en una de las opciones 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.

[Arriba]

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'));
      

[Arriba]

Vea también

Referencia

OBJECT_DEFINITION (Transact-SQL)

sys.sql_modules (Transact-SQL)

sp_helptext (Transact-SQL)

OBJECT_ID (Transact-SQL)

Conceptos

Crear un procedimiento almacenado

Modificar un procedimiento almacenado

Eliminar un procedimiento almacenado

Cambiar el nombre de un procedimiento almacenado