dbo??

05/04/2005 - 03:51 por MAbanto | Informe spam
si creo un objeto ( digamos un stored proc) siendo mi usuario dbo de la base
pero no sysadmin tienen que llamr al objeto anteponiendo mi usuario ( el que
lo creo) es decir que tengo que poner a los que crean objetos como sysadmin
para que lo ejecuten con dbo.. disculpen soy nueva en esto..
 

Leer las respuestas

#1 Alejandro Mesa
05/04/2005 - 14:11 | Informe spam
No necesariamente. Los usuarios con derecho a crear objetos pueden pertenecer
al role fijo del servidor "sysadmin" o miembros de los roles fijos de la bd
db_owner o db_ddladmin y por lo tanto pueden usar un user id diferente del
asociado con el login de la coneccion actual de lo contrario tienen que usar
el user id asociado a la coneccion actual. Para los miembros del role
sysadmin o los que usan el alias dbo, sql server usa dbo como dueño por
defecto cuando estos crean un objeto. Una buena practica es que siempre que
referencies objectos en tus scripts, lo hagas qualificandolo con su dueño
"owner.object_name" asi sql server no debe perder tiempo tratando de
descifrar quien es el dueño. Para el caso de desarrollo, todos lo usuarios
con permiso de crear objetos deben qualificarlo con "dbo", asi te evitas el
que tengas dos tablas con el mismo nombre pero diferente dueño. Por ultimo,
no debes dar permiso de creacion de objetos a todos los usarios, solo a los
requeridos.

Ejemplo:

create table dbo.table1 (
...
);

create procedure dbo.usp_proc1
as
...


AMB


"MAbanto" wrote:

si creo un objeto ( digamos un stored proc) siendo mi usuario dbo de la base
pero no sysadmin tienen que llamr al objeto anteponiendo mi usuario ( el que
lo creo) es decir que tengo que poner a los que crean objetos como sysadmin
para que lo ejecuten con dbo.. disculpen soy nueva en esto..

Preguntas similares