Categorias de Procedimientos Almacenados

5,870 views

Published on

Se detallan las 5 categorias de procedimientos almacenados.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
5,870
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
230
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Categorias de Procedimientos Almacenados

  1. 1. <ul><li>Pereda Miñano, Carlos Alberto </li></ul>Alumno:
  2. 2. <ul><li>Existen 5 categorías de procedimientos almacenados: </li></ul><ul><li>Procedimientos almacenados del sistema. </li></ul><ul><li>Procedimientos almacenados locales. </li></ul><ul><li>Procedimientos almacenados temporarios. </li></ul><ul><li>Procedimientos almacenados extendidos. </li></ul><ul><li>Procedimientos almacenados remotos. </li></ul>
  3. 3. <ul><li>Los procedimientos almacenados del sistema son guardados en la base de datos Master y son típicamente identificados por el prefijo sp_ . Ellos realizan una amplia variedad de tareas para soportar las funciones del SQL Server soportando: llamadas de aplicaciones externas para datos de las tablas del sistema, procedimientos generales para administración de las bases de datos, y funciones de administración de seguridad. Por ejemplo, se pueden ver los privilegios de una tabla usando el procedimiento almacenado de catálogo sp_table_privileges. El comando siguiente utiliza este procedimiento almacenado para mostrar los privilegios de la tabla Customers en la base de datos Northwind: </li></ul>
  4. 5. <ul><li>Una tarea común de administración de bases de datos  es consultar la información acerca de los usuarios y procesos que se están ejecutando en una base de datos. Este paso es importante cuando se debe dar de baja la base de datos. El siguiente comando usa el procedimiento sp_who para mostrar todos los procesos en uso por el usuario PC-MSICarloncho: </li></ul>
  5. 6. <ul><li>La seguridad de base de datos es crítica para la mayoría de las organizaciones que almacenan datos privados en su base de datos. El comando siguiente usa el procedimiento almacenado del sistema sp_validatelogins para mostrar cualquier usuario y grupo de usuarios Windows NT o Windows 2000 huérfanos que no existan más y que aún tengan entradas en las tablas del sistema del SQL Server: </li></ul>
  6. 7. <ul><li>Los procedimientos almacenados locales son usualmente almacenados en una base de datos y están típicamente diseñados para completar tareas en la base de datos donde residen. Un procedimiento almacenado local se podría crear también para personalizar código de los procedimientos almacenados del sistema. Para crear una tarea personalizada basada sobre un procedimiento almacenado del sistema, primero copie el contenido del procedimiento almacenado del sistema y guarde el nuevo procedimiento almacenado y guarde el nuevo procedimiento almacenado como un procedimiento almacenado local. </li></ul>
  7. 8. <ul><li>Un procedimiento almacenado temporario es similar a un procedimiento almacenado local, pero existe sólo hasta que se cierre la conexión que lo creó o se dé de baja el SQL Server, dependiendo del tipo de procedimiento almacenado. Estos procedimientos tienen una existencia volátil debido a que son creados y almacenados en la base de datos TempDB. TempDB se recrea cuando se reinicia el servidor; por lo tanto, todos los objetos dentro de la base de datos desaparecen después que se cierra conexión con la base de datos. </li></ul><ul><li>De forma similar a las tablas temporales, los procedimientos almacenados temporales (tanto privados como globales) se pueden crear agregando los prefijos # y ## delante del nombre del procedimiento. # denota un procedimiento almacenado temporal local; ## denota un procedimiento almacenado temporal global. Estos procedimientos dejan de existir cuando se cierra SQL Server. </li></ul>
  8. 9. <ul><li>Cualquier conexión puede ejecutar un procedimiento almacenado temporal global. Éste existe hasta que se cierra la conexión que el usuario utilizó para crearlo, y hasta que se completan todas las versiones del procedimiento que se estuvieran ejecutando mediante otras conexiones. Una vez cerrada la conexión que se utilizó para crear el procedimiento almacenado, éste ya no se puede volver a ejecutar. Sólo podrán finalizar las conexiones que hayan empezado a ejecutar el procedimiento almacenado. </li></ul><ul><li>Si se crea directamente en la base de datos tempdb un procedimiento almacenado sin el prefijo # o ##, el procedimiento en cuestión se eliminará automáticamente cuando se cierre SQL Server, ya que tempdb se vuelve a crear cada vez que se inicia SQL Server. Los procedimientos creados directamente en tempdb existen incluso después de haber finalizado la conexión en que se crearon. </li></ul>
  9. 11. <ul><li>Los procedimientos almacenados extendidos permiten crear rutinas externas propias en un lenguaje de programación como C. Estos procedimientos se muestran ante los usuarios como procedimientos almacenados normales y se ejecutan del mismo modo. Es posible pasar parámetros a procedimientos almacenados extendidos y éstos pueden devolver resultados y estados. </li></ul><ul><li>Los procedimientos almacenados extendidos son DLL que una instancia de SQL Server puede cargar y ejecutar dinámicamente. Estos procedimientos se ejecutan directamente en el espacio de dirección de una instancia de SQL Server y se programan mediante la API Procedimientos almacenados extendidos de SQL Server. </li></ul><ul><li>Estos procedimientos almacenados extendidos utilizan el prefijo xp_ . </li></ul>
  10. 13. <ul><li>Son los procedimientos que se ejecutan en algún servidor que se encuentre vinculado a algún cliente. </li></ul>

×