Usuario Owner y Otro Usuario Ejecutor

24/05/2007 - 18:27 por jvtarazona | Informe spam
Hola a todos, uso Sql Server 2000, y mi problema es el siguiente:

si lo que quiero es tener un usuario "administrador" que me cree la base de
datos, las tablas, sus restricciones, sus procedimientos, ...
y que no es el dbo, porque me lo he creado yo

y otro usuario "usuario", que sólo tenga permisos sobre los sp que le
devuelven la información que precisa,

¿porqué debo hacer la llamada EXECUTE owner.miUsp?, ¿es obligatorio, no
puedo hacerlo de otra manera?.

Gracias de antemano

Preguntas similare

Leer las respuestas

#1 Maxi
24/05/2007 - 18:47 | Informe spam
Hola y cual es el problema de especificar el owner? es justamente una
excelente practica hacerlo como lo estas haciendo


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"jvtarazona" escribió en el mensaje
news:
Hola a todos, uso Sql Server 2000, y mi problema es el siguiente:

si lo que quiero es tener un usuario "administrador" que me cree la base
de
datos, las tablas, sus restricciones, sus procedimientos, ...
y que no es el dbo, porque me lo he creado yo

y otro usuario "usuario", que sólo tenga permisos sobre los sp que le
devuelven la información que precisa,

¿porqué debo hacer la llamada EXECUTE owner.miUsp?, ¿es obligatorio, no
puedo hacerlo de otra manera?.

Gracias de antemano
Respuesta Responder a este mensaje
#2 jvtarazona
24/05/2007 - 19:05 | Informe spam
Eeeeeeh, huuuuuum, Pueeeees?

Tienes razón,
pero ahora me va a tocar cambiar el código en la aplicación cliente (sí una
ca**da de analisis) , pero me gustaría que no se viera el nombre del usuario
administrador en el código (ya que este es VBScript) (y los usuarios del
turno de noche son muy alcahuetes y tienen mucho tiempo).

De todas maneras, gracias, anima el que te digan que lo que haces va bien
encaminado (aunque yo pensara que no).

"Maxi" wrote:

Hola y cual es el problema de especificar el owner? es justamente una
excelente practica hacerlo como lo estas haciendo


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"jvtarazona" escribió en el mensaje
news:
> Hola a todos, uso Sql Server 2000, y mi problema es el siguiente:
>
> si lo que quiero es tener un usuario "administrador" que me cree la base
> de
> datos, las tablas, sus restricciones, sus procedimientos, ...
> y que no es el dbo, porque me lo he creado yo
>
> y otro usuario "usuario", que sólo tenga permisos sobre los sp que le
> devuelven la información que precisa,
>
> ¿porqué debo hacer la llamada EXECUTE owner.miUsp?, ¿es obligatorio, no
> puedo hacerlo de otra manera?.
>
> Gracias de antemano



Respuesta Responder a este mensaje
#3 Alejandro Mesa
24/05/2007 - 20:06 | Informe spam
jvtarazona,

Si tu no qualificas el nombre del sp con el dueño o nombre del esquema,
entonces te pudiera dar error. Veamos un ejemplo practico y supongamos que el
usuario [jvtarazona] ejecuta ese sp.

exec miUsp

Al no qualificar al objeto con el nombre del esquema, SQL Server tendra que
resolver ese nombre de esquema y buscara en la sgte secuencia:

- dbo.miUsp
- jvtarazona.miUsp

al no encontrar los sps anteriores, entonces dara error.

Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'miUsp'.

Ahora supongamos que el mismo usuario [administrador] crea un procedimineto
de la forma:

create procedure dbo.miUsp
as
...

y luego el mismo usuario administrador trata de ejecutar esta sentencia:

exec miUsp

Cual procedmiento tu crees que se ejecutara [administrador].[miUsp] o
[dbo].[miUsp]?

Segun lo explicado anteriormente, se ejecutara [dbo].[miUsp]. Vez por que es
importante qualificar el procedimiento con el nombre del esquema.


AMB


"jvtarazona" wrote:

Eeeeeeh, huuuuuum, Pueeeees?

Tienes razón,
pero ahora me va a tocar cambiar el código en la aplicación cliente (sí una
ca**da de analisis) , pero me gustaría que no se viera el nombre del usuario
administrador en el código (ya que este es VBScript) (y los usuarios del
turno de noche son muy alcahuetes y tienen mucho tiempo).

De todas maneras, gracias, anima el que te digan que lo que haces va bien
encaminado (aunque yo pensara que no).

"Maxi" wrote:

> Hola y cual es el problema de especificar el owner? es justamente una
> excelente practica hacerlo como lo estas haciendo
>
>
> Salu2
>
> Microsoft MVP SQL Server
> Culminis Speaker
>
> "jvtarazona" escribió en el mensaje
> news:
> > Hola a todos, uso Sql Server 2000, y mi problema es el siguiente:
> >
> > si lo que quiero es tener un usuario "administrador" que me cree la base
> > de
> > datos, las tablas, sus restricciones, sus procedimientos, ...
> > y que no es el dbo, porque me lo he creado yo
> >
> > y otro usuario "usuario", que sólo tenga permisos sobre los sp que le
> > devuelven la información que precisa,
> >
> > ¿porqué debo hacer la llamada EXECUTE owner.miUsp?, ¿es obligatorio, no
> > puedo hacerlo de otra manera?.
> >
> > Gracias de antemano
>
>
>
Respuesta Responder a este mensaje
#4 jvtarazona
25/05/2007 - 13:49 | Informe spam
Efectivamente, acabo de cambiarlo y funciona,
hay que poner el dbo como owner, en todo script de create y alter.

Allá donde aparezca un nombre o referencia a una tabla, incluidos los script
de generación de los sp, hay que... especificar no, poner el dbo.*

Así en la aplicación cliente, no hace falta ponerlo, con el nombre del sp
sobra.

Muchas gracias a los dos

"Alejandro Mesa" wrote:

jvtarazona,

Si tu no qualificas el nombre del sp con el dueño o nombre del esquema,
entonces te pudiera dar error. Veamos un ejemplo practico y supongamos que el
usuario [jvtarazona] ejecuta ese sp.

exec miUsp

Al no qualificar al objeto con el nombre del esquema, SQL Server tendra que
resolver ese nombre de esquema y buscara en la sgte secuencia:

- dbo.miUsp
- jvtarazona.miUsp

al no encontrar los sps anteriores, entonces dara error.

Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'miUsp'.

Ahora supongamos que el mismo usuario [administrador] crea un procedimineto
de la forma:

create procedure dbo.miUsp
as
...

y luego el mismo usuario administrador trata de ejecutar esta sentencia:

exec miUsp

Cual procedmiento tu crees que se ejecutara [administrador].[miUsp] o
[dbo].[miUsp]?

Segun lo explicado anteriormente, se ejecutara [dbo].[miUsp]. Vez por que es
importante qualificar el procedimiento con el nombre del esquema.


AMB
Respuesta Responder a este mensaje
#5 Alejandro Mesa
25/05/2007 - 14:59 | Informe spam
jvtarazona,

Es mucho mas facil si todos los sps generadops por tu grupo de desarrollo
estan bajo el mismo esquema "dbo" (esto es en SS 2000). Pero incluso si asi
lo haces, es importante que qualifiques al sp con el nombre del esquema donde
quiera que lo ejecutes y asi le ahorras a SQL Server tener que averiguar ese
dato.


AMB

"jvtarazona" wrote:

Efectivamente, acabo de cambiarlo y funciona,
hay que poner el dbo como owner, en todo script de create y alter.

Allá donde aparezca un nombre o referencia a una tabla, incluidos los script
de generación de los sp, hay que... especificar no, poner el dbo.*

Así en la aplicación cliente, no hace falta ponerlo, con el nombre del sp
sobra.

Muchas gracias a los dos

"Alejandro Mesa" wrote:

> jvtarazona,
>
> Si tu no qualificas el nombre del sp con el dueño o nombre del esquema,
> entonces te pudiera dar error. Veamos un ejemplo practico y supongamos que el
> usuario [jvtarazona] ejecuta ese sp.
>
> exec miUsp
>
> Al no qualificar al objeto con el nombre del esquema, SQL Server tendra que
> resolver ese nombre de esquema y buscara en la sgte secuencia:
>
> - dbo.miUsp
> - jvtarazona.miUsp
>
> al no encontrar los sps anteriores, entonces dara error.
>
> Msg 2812, Level 16, State 62, Line 1
> Could not find stored procedure 'miUsp'.
>
> Ahora supongamos que el mismo usuario [administrador] crea un procedimineto
> de la forma:
>
> create procedure dbo.miUsp
> as
> ...
>
> y luego el mismo usuario administrador trata de ejecutar esta sentencia:
>
> exec miUsp
>
> Cual procedmiento tu crees que se ejecutara [administrador].[miUsp] o
> [dbo].[miUsp]?
>
> Segun lo explicado anteriormente, se ejecutara [dbo].[miUsp]. Vez por que es
> importante qualificar el procedimiento con el nombre del esquema.
>
>
> AMB

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida