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 comenzar: Seguridad
Para ver la definición de un procedimiento, using: SQL Server Management Studio, Transact-SQL
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
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos y, a continuación, expándala.
Expanda Bases de datos, expanda la base de datos a la que pertenece el procedimiento y, a continuación, expanda Programación.
Expanda Procedimientos almacenados, haga clic con el botón derecho en el procedimiento; luego, haga clic en Incluir procedimiento almacenado comoy, por último, haga clic en una de las opciones siguientes: Create To, Alter Too Drop and Create To.
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
En Explorador de objetos, conéctese a una instancia del motor de base de datos.
En la barra de herramientas, haga clic en Nueva consulta.
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
En Explorador de objetos, conéctese a una instancia del motor de base de datos.
En la barra de herramientas, haga clic en Nueva consulta.
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
En Explorador de objetos, conéctese a una instancia del motor de base de datos.
En la barra de herramientas, haga clic en Nueva consulta.
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)