cambiar propietario de todos los objetos de la BD

03/06/2004 - 13:47 por isaac | Informe spam
Cómo puedo cambiar automáticamente el propietario de todos los objetos de mi
base de datos. Se ha quedado como propietario un usuario que no tiene inicio
de sesión al recuperarlo de un backup y no puedo eliminarlo.

Se que puedo hacerlo con "sp_chageobjectowner" pero tengo muchos objetos y
necesito algo masivo.

He encontrado respuesta anterior en el foro sp_MSforeachtable pero solo
sirve para cambiar masivamente el propietario de las tablas (que no es poco)
pero tengo tb procedimientos almacenados...

Se lo justito de SQL, perso seguro que tiene que haber algo.

Gracias.

Preguntas similare

Leer las respuestas

#1 Adrian D. Garcia
03/06/2004 - 20:07 | Informe spam
Estuve viendo que el sp_changeobjectowner verifica que no sean tablas de
sistemas, triggers, etc. por lo que dedusco que se podria hacer algo masivo.

Si ejecutas este select desde el Query Analizer sobre la base de datos en
cuestion te generara las sentencias necesarias para la ejecucion del cambio
para cada objeto que se pueda cambiar.

SELECT 'EXEC sp_changeobjectowner ''' + name + ''', ''nuevoduenio''' from
SYSobjects

Luego tomas el resultado y lo ejecutas como un script.
Por cada objeto que no pueda cambiar de owner te generara un mensaje de
error pero si los cambiara a los que pueda hacerlo.
Como medida de precaucion generaria un backup/resguardo de la base de datos
de de ejecutar esto.

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"isaac" wrote in message
news:c9n2tl$2u5$
Cómo puedo cambiar automáticamente el propietario de todos los objetos de


mi
base de datos. Se ha quedado como propietario un usuario que no tiene


inicio
de sesión al recuperarlo de un backup y no puedo eliminarlo.

Se que puedo hacerlo con "sp_chageobjectowner" pero tengo muchos objetos y
necesito algo masivo.

He encontrado respuesta anterior en el foro sp_MSforeachtable pero solo
sirve para cambiar masivamente el propietario de las tablas (que no es


poco)
pero tengo tb procedimientos almacenados...

Se lo justito de SQL, perso seguro que tiene que haber algo.

Gracias.


Respuesta Responder a este mensaje
#2 isaac
04/06/2004 - 16:40 | Informe spam
Muchas gracias.

Me ha funionado perfectamente. He entrado en el servidor como el sa y he
modificado tu orden para añadir al nombre de cada objeto el nombre del
propietario porque de otro modo me decía que los objetos no existían cuando
ejecutaba las ordenes.

Gracias de nuevo y un saludo.


"Adrian D. Garcia" escribió en el mensaje
news:
Estuve viendo que el sp_changeobjectowner verifica que no sean tablas de
sistemas, triggers, etc. por lo que dedusco que se podria hacer algo


masivo.

Si ejecutas este select desde el Query Analizer sobre la base de datos en
cuestion te generara las sentencias necesarias para la ejecucion del


cambio
para cada objeto que se pueda cambiar.

SELECT 'EXEC sp_changeobjectowner ''' + name + ''', ''nuevoduenio''' from
SYSobjects

Luego tomas el resultado y lo ejecutas como un script.
Por cada objeto que no pueda cambiar de owner te generara un mensaje de
error pero si los cambiara a los que pueda hacerlo.
Como medida de precaucion generaria un backup/resguardo de la base de


datos
de de ejecutar esto.

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"isaac" wrote in


message
news:c9n2tl$2u5$
> Cómo puedo cambiar automáticamente el propietario de todos los objetos


de
mi
> base de datos. Se ha quedado como propietario un usuario que no tiene
inicio
> de sesión al recuperarlo de un backup y no puedo eliminarlo.
>
> Se que puedo hacerlo con "sp_chageobjectowner" pero tengo muchos objetos


y
> necesito algo masivo.
>
> He encontrado respuesta anterior en el foro sp_MSforeachtable pero solo
> sirve para cambiar masivamente el propietario de las tablas (que no es
poco)
> pero tengo tb procedimientos almacenados...
>
> Se lo justito de SQL, perso seguro que tiene que haber algo.
>
> Gracias.
>
>


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