Detectar Procedimientos Almacenados Corruptos

22/06/2004 - 17:47 por poker | Informe spam
Hola a todos:

Cuando se renombra un procedimiento almacenado, el texto o código del
mismo no cambia, de forma que si sacamos su secuencia de comandos SQL, al
ejecutarla, se crea el proc. alm. con el nombre antiguo, es decir, el que
tenía almacenado en el texto.

¿Tenéis algún script para detectar estas incoherencias?

Muchas gracias

Preguntas similare

Leer las respuestas

#1 MAXI
23/06/2004 - 01:54 | Informe spam
No te entendi che :( podrias ser mas claro?




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"poker" escribió en el mensaje
news:
Hola a todos:

Cuando se renombra un procedimiento almacenado, el texto o código del
mismo no cambia, de forma que si sacamos su secuencia de comandos SQL, al
ejecutarla, se crea el proc. alm. con el nombre antiguo, es decir, el que
tenía almacenado en el texto.

¿Tenéis algún script para detectar estas incoherencias?

Muchas gracias


Respuesta Responder a este mensaje
#2 poker
23/06/2004 - 17:19 | Informe spam
Ejemplo: Crea un procedimiento almacenado llamado PRUEBA_P con el código

create procedure dbo.PRUEBA_P as
print 'PRUEBA'
GO

Vé al Administrador corporativo y modifica el nombre del procedimiento
almacenado pinchando sobre el nombre y ponle PRUEBA2_P

Ahora haz doble click sobre el procedimiento almacenado y en el código
sigues viendo:

create procedure dbo.PRUEBA_P as
print 'PRUEBA'

Si generas las secuencias de comandos SQL de los objetos de la base de
datos para crearlos en otra base de datos, no existirá el objeto PRUEBA2_P
sino el PRUEBA_P y te fallarán las referencias que hicieras a PRUEBA2_P.

¿Hay alguna forma de detectar estos casos automáticamente con un script?

Gracias

"MAXI" escribió en el mensaje
news:%
No te entendi che :( podrias ser mas claro?




Maxi

Buenos Aires - Argentina

Desarrollador .NET 3 Estrellas

Mail: Maxi_accotto[arroba]speedy.com.ar

MSN:


"poker" escribió en el mensaje
news:
> Hola a todos:
>
> Cuando se renombra un procedimiento almacenado, el texto o código


del
> mismo no cambia, de forma que si sacamos su secuencia de comandos SQL,


al
> ejecutarla, se crea el proc. alm. con el nombre antiguo, es decir, el


que
> tenía almacenado en el texto.
>
> ¿Tenéis algún script para detectar estas incoherencias?
>
> Muchas gracias
>
>


Respuesta Responder a este mensaje
#3 ulises
23/06/2004 - 17:22 | Informe spam
La información del procedimiento almacenado se encuentra
en el campo text de la tabla syscomments, entonces podrías
verificar que el nombre del procedimiento almancenado no
se encuentra dentro de ese campo, algo como :

select o.name
from syscomments c join sysobjects o on c.id = o.id
where o.xtype = 'P'
AND c.text NOT LIKE '%'+o.name+'%'
AND c.colid = 1

Saludos,
Ulises

Hola a todos:

Cuando se renombra un procedimiento almacenado, el


texto o código del
mismo no cambia, de forma que si sacamos su secuencia de


comandos SQL, al
ejecutarla, se crea el proc. alm. con el nombre antiguo,


es decir, el que
tenía almacenado en el texto.

¿Tenéis algún script para detectar estas


incoherencias?

Muchas gracias


.

Respuesta Responder a este mensaje
#4 ulises
23/06/2004 - 17:22 | Informe spam
La información del procedimiento almacenado se encuentra
en el campo text de la tabla syscomments, entonces podrías
verificar que el nombre del procedimiento almancenado no
se encuentra dentro de ese campo, algo como :

select o.name
from syscomments c join sysobjects o on c.id = o.id
where o.xtype = 'P'
AND c.text NOT LIKE '%'+o.name+'%'
AND c.colid = 1

Saludos,
Ulises

Hola a todos:

Cuando se renombra un procedimiento almacenado, el


texto o código del
mismo no cambia, de forma que si sacamos su secuencia de


comandos SQL, al
ejecutarla, se crea el proc. alm. con el nombre antiguo,


es decir, el que
tenía almacenado en el texto.

¿Tenéis algún script para detectar estas


incoherencias?

Muchas gracias


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida