Problema con una tabla

15/11/2004 - 13:23 por MetalManiac | Informe spam
Tengo una base de datos y quiero hacer un insert desde el analizador de
consultas tal que:

insert into Noticias (id, idapartado, titular, cuerpo, fecha) SELECT
OIDalcaldia, 7, titular, cuerpo, fecha FROM notAlcaldia

Pues bien, para todas las tablas que el propietario no es dbo, sino el
usuario usrGel1001 me dice "El nombre de objeto 'notAlcaldia' no es válido."
cuando intento ejecutar la sentencia antes mencionada.

A que se debe esto? No tengo ni idea. Gracias

Preguntas similare

Leer las respuestas

#6 ulises
16/11/2004 - 14:25 | Informe spam
Estoy de acuerdo contigo en que siempre se debe especificar
propietario.objeto, pero el propietario por regla general
debería ser dbo, me ha dado más dolores de cabeza en
materia de seguridad y desarrollo el mantener grupos de
propietarios diferentes, otro cantar será en SQL 2005 ya
que desligará usuario de schema.

Saludos,
Ulises

Buenas en mi opinión no es un problema que los objetos no


sean propiedad de
dbo, de hecho debermos ir acostumbrandonos a que no tenga


por que ser así.
Como buenas practicas yo indicaría siempre


propietario.objeto, esto quita
dolores de cabeza y cuando te acostumbras no es ningún


problema.


-
Miguel Egea Gómez
Microsoft SQL-Server MVP
Webmaster de PortalSql.Com
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?


"Maxi" escribió en el mensaje
news:OMAq$
Hola, eso se debe a que han creado objetos que no soj




DBO como propietario
:(

Lo que te recomiendo es que los cambies a DBO o bien vas




a tener que
especificar el propietario por ej

FROM SERVIDOR.BDD.PROPIETARIO.TABLA


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"MetalManiac" escribió en el mensaje
news:%
Tengo una base de datos y quiero hacer un insert desde






el analizador de
consultas tal que:

insert into Noticias (id, idapartado, titular, cuerpo,






fecha) SELECT
OIDalcaldia, 7, titular, cuerpo, fecha FROM notAlcaldia

Pues bien, para todas las tablas que el propietario no






es dbo, sino el
usuario usrGel1001 me dice "El nombre de objeto






'notAlcaldia' no es
válido."
cuando intento ejecutar la sentencia antes mencionada.

A que se debe esto? No tengo ni idea. Gracias







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.795 / Virus Database: 539 - Release Date:




12/11/2004





.

Respuesta Responder a este mensaje
#7 Miguel Egea
16/11/2004 - 21:38 | Informe spam
Tus consideraciones son correctícimas como siempre. Aunque realmente no hay
gran penalización en rendimiento según las pruebas que he hecho menos de un
0.05 % en 10000 inserciones si son del mismo propietario o diferente. Lo que
si es más dificil de administrar y más limpio (en mi opinión) de leer :-)
Dan gusto estos hilos, ;-)


-
Miguel Egea Gómez
Microsoft SQL-Server MVP
Webmaster de PortalSql.Com
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Javier Loria" escribió en el mensaje
news:%
Hola:
Ummm???. Y la doble revision de permisos que hace la ejecucion mas
lenta?
Me explico:
a) Si un procedimiento almacenado usa varias tablas (todas del mismo
dueno), basta con darle acceso al usuario a la procedimiento y no se
requiere dar permisos sobre las tablas, esto es bueno por desempeno,
seguridad y facilidad de mantenimiento.
b) Si el "mismo" procedimiento fuera propiedad de un usuario diferente
al de las tablas, se requerira darle acceso al usuario al procedimiento y
a
las tablas. Este exige doble verificacion de permisos del servidor y doble
trabajo de administrador. O sea es mas lento, mas dificil de mantener y a
la
larga mas inseguro ya que es mas facil cometer un error o simplemente
solucionar dandole permisos a sobre todos los objetos :(
En mi experiencia la ventaja de llamar los objetos solo por su nombre y
no por el nombre completo o parcial (Servidor.BaseDatos.Propietario.Objeto
o
Propietario.Objeto) es que es mas facil la implementacion en contextos
diferentes.
Por ejemplo en un ISV que hace hosting me asignan un usuario que no es
DBO sobre la Base de Datos y todos los objetos que creo le pertenecen a mi
usuario. Otros casos que se me ocurren: Diferentes versiones y multiples
companias en una sola BD.
El porque tenemos que acostumbrarnos es otro problema ;)
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Miguel Egea" wrote in message
news:
Buenas en mi opinión no es un problema que los objetos no sean propiedad


de
dbo, de hecho debermos ir acostumbrandonos a que no tenga por que ser
así.
Como buenas practicas yo indicaría siempre propietario.objeto, esto quita
dolores de cabeza y cuando te acostumbras no es ningún problema.


-
Miguel Egea Gómez
Microsoft SQL-Server MVP
Webmaster de PortalSql.Com
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?


"Maxi" escribió en el mensaje
news:OMAq$
> Hola, eso se debe a que han creado objetos que no soj DBO como


propietario
> :(
>
> Lo que te recomiendo es que los cambies a DBO o bien vas a tener que
> especificar el propietario por ej
>
> FROM SERVIDOR.BDD.PROPIETARIO.TABLA
>
>
> Salu2
> Maxi
> Buenos Aires - Argentina
> Desarrollador Microsoft 3 Estrellas .NET
> Nunca consideres el estudio como una obligación sino como
> una oportunidad para penetrar en el bello y maravillosos
> mundo del saber.
> - Albert Einstein
>
>
>
> "MetalManiac" escribió en el mensaje
> news:%
>> Tengo una base de datos y quiero hacer un insert desde el analizador
>> de
>> consultas tal que:
>>
>> insert into Noticias (id, idapartado, titular, cuerpo, fecha) SELECT
>> OIDalcaldia, 7, titular, cuerpo, fecha FROM notAlcaldia
>>
>> Pues bien, para todas las tablas que el propietario no es dbo, sino el
>> usuario usrGel1001 me dice "El nombre de objeto 'notAlcaldia' no es
>> válido."
>> cuando intento ejecutar la sentencia antes mencionada.
>>
>> A que se debe esto? No tengo ni idea. Gracias
>>
>>
>
>
>
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.795 / Virus Database: 539 - Release Date: 12/11/2004
>






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