No detecta errores al cear sp

27/02/2009 - 01:01 por jose | Informe spam
Hola Foro:
caso raro estoy en sql server 2005 y al modificar un SP ya creado no detecte
y teclee un campo que no existe y al ejecutar (guardar cambios) no detecto
error. En sql server 2000 nunca me paso.

Como dato adicional lo hize seleccionando el sp en cuestion , botòn derecho
modificar y aplique el ceambio con "EXITO", no he detectado la causa.
NO se si sea algo de configuracion del ambiente o que.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
27/02/2009 - 02:01 | Informe spam
Jose,

Cuando se crea un stored procedure, sql server solo chequea que la sintaxis
este correcta. Solo cuando se invoca el procedimiento y se necesita
compilarlo, es que se detectan este tipo de errores. Este comportamiento se
conoce "deferred name resolucion" y es lo que permite que puedas referenciar
una tabla temporal sin necesidad de crearla.

Resolución diferida de nombres y compilación
http://msdn.microsoft.com/es-es/library/ms190686(SQL.90).aspx

Hay una sugerencia en microsoft.connect, que plantea el uso de una opcion
nueva que se pueda prendar, para indicar a sql server que sea mas severo con
el chequeo que se hace durante la creacion de un sp. Puedes aportar tu voto,
si deseas que este funcionalidad sea incorporada en versiones futuras de sql
server.

https://connect.microsoft.com/SQLSe...wsignin1.0


AMB



"jose" wrote:

Hola Foro:
caso raro estoy en sql server 2005 y al modificar un SP ya creado no detecte
y teclee un campo que no existe y al ejecutar (guardar cambios) no detecto
error. En sql server 2000 nunca me paso.

Como dato adicional lo hize seleccionando el sp en cuestion , botòn derecho
modificar y aplique el ceambio con "EXITO", no he detectado la causa.
NO se si sea algo de configuracion del ambiente o que.
Respuesta Responder a este mensaje
#2 jose
27/02/2009 - 02:40 | Informe spam
Gracias Alejandro:

Lo ùnico que no me queda claro es porque en SQLServer si verificaba los
objetos. De hecho en los cursos de sqlserver 2000 y anteriores se me habia
dicho
que en eso radicaba la velocidad de un sp
-ya estaba compilado
-se habia verificado la existencia de objetos
-se habia creado un plan de ejecucion
-radicaba en la bd.

En realidad no se por que no esta activa la opciòn que mencionas y que voy a
votar para que se active.

"Alejandro Mesa" wrote:

Jose,

Cuando se crea un stored procedure, sql server solo chequea que la sintaxis
este correcta. Solo cuando se invoca el procedimiento y se necesita
compilarlo, es que se detectan este tipo de errores. Este comportamiento se
conoce "deferred name resolucion" y es lo que permite que puedas referenciar
una tabla temporal sin necesidad de crearla.

Resolución diferida de nombres y compilación
http://msdn.microsoft.com/es-es/library/ms190686(SQL.90).aspx

Hay una sugerencia en microsoft.connect, que plantea el uso de una opcion
nueva que se pueda prendar, para indicar a sql server que sea mas severo con
el chequeo que se hace durante la creacion de un sp. Puedes aportar tu voto,
si deseas que este funcionalidad sea incorporada en versiones futuras de sql
server.

https://connect.microsoft.com/SQLSe...wsignin1.0


AMB



"jose" wrote:

> Hola Foro:
> caso raro estoy en sql server 2005 y al modificar un SP ya creado no detecte
> y teclee un campo que no existe y al ejecutar (guardar cambios) no detecto
> error. En sql server 2000 nunca me paso.
>
> Como dato adicional lo hize seleccionando el sp en cuestion , botòn derecho
> modificar y aplique el ceambio con "EXITO", no he detectado la causa.
> NO se si sea algo de configuracion del ambiente o que.
Respuesta Responder a este mensaje
#3 Alejandro Mesa
27/02/2009 - 03:30 | Informe spam
Jose,

El mismo comportamiento existe en la version 2000.

De hecho en los cursos de sqlserver 2000 y anteriores se me habia
dicho que en eso radicaba la velocidad de un sp

-ya estaba compilado
-se habia verificado la existencia de objetos
-se habia creado un plan de ejecucion
-radicaba en la bd.



Todo eso es cierto, no importa la version de sql server. Lo que pasa es que
la compilacion se hace la primera vez que se llama ha ese procedimiento, y es
ahi donde se hace el chequeo de las tablas que no existen y que en el se
referencian. Hay otra parte de el codigo, como es el uso de sql dinamico, que
no se chequea hasta que este se ejecuta.


AMB


"jose" wrote:

Gracias Alejandro:

Lo ùnico que no me queda claro es porque en SQLServer si verificaba los
objetos. De hecho en los cursos de sqlserver 2000 y anteriores se me habia
dicho
que en eso radicaba la velocidad de un sp
-ya estaba compilado
-se habia verificado la existencia de objetos
-se habia creado un plan de ejecucion
-radicaba en la bd.

En realidad no se por que no esta activa la opciòn que mencionas y que voy a
votar para que se active.

"Alejandro Mesa" wrote:

> Jose,
>
> Cuando se crea un stored procedure, sql server solo chequea que la sintaxis
> este correcta. Solo cuando se invoca el procedimiento y se necesita
> compilarlo, es que se detectan este tipo de errores. Este comportamiento se
> conoce "deferred name resolucion" y es lo que permite que puedas referenciar
> una tabla temporal sin necesidad de crearla.
>
> Resolución diferida de nombres y compilación
> http://msdn.microsoft.com/es-es/library/ms190686(SQL.90).aspx
>
> Hay una sugerencia en microsoft.connect, que plantea el uso de una opcion
> nueva que se pueda prendar, para indicar a sql server que sea mas severo con
> el chequeo que se hace durante la creacion de un sp. Puedes aportar tu voto,
> si deseas que este funcionalidad sea incorporada en versiones futuras de sql
> server.
>
> https://connect.microsoft.com/SQLSe...wsignin1.0
>
>
> AMB
>
>
>
> "jose" wrote:
>
> > Hola Foro:
> > caso raro estoy en sql server 2005 y al modificar un SP ya creado no detecte
> > y teclee un campo que no existe y al ejecutar (guardar cambios) no detecto
> > error. En sql server 2000 nunca me paso.
> >
> > Como dato adicional lo hize seleccionando el sp en cuestion , botòn derecho
> > modificar y aplique el ceambio con "EXITO", no he detectado la causa.
> > NO se si sea algo de configuracion del ambiente o que.
Respuesta Responder a este mensaje
#4 Jose TH
01/03/2009 - 13:36 | Informe spam

Hay una sugerencia en microsoft.connect, que plantea el uso de una opcion
nueva que se pueda prendar, para indicar a sql server que sea mas severo
con
el chequeo que se hace durante la creacion de un sp. Puedes aportar tu
voto,
si deseas que este funcionalidad sea incorporada en versiones futuras de
sql
server.

https://connect.microsoft.com/SQLSe...wsignin1.0





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