Cambiar propietario database

27/06/2006 - 19:59 por TR | Informe spam
Hola,

Tengo una base de datos llamada "database1" que tiene una serie de
tablas cuyo propietario es "usuario1". En usuarios de la database, tengo
el usurio "dbo" y el usuario "usuario1".

Cuando hago un select desde el Analizador de Consultas tengo que poner
siempre el usuario "usuario1" delante de la tabla, es decir:

select * from usuario1.tabla1

Yo lo que quiero es no poner "usuario1", que funcione tan solo poniendo:

select * from tabla1

Cuando el usuario "dbo" es propietario de las tablas esta última
consulta es correct.

Me gustaria saber como cambiar el usuario de las tablas para que el
propietario sea "dbo".

Alguien me puede ayudar?... es posible lo que expongo sin necesidad de
cambiar el propietario?

Un cordial saludo y gracias anticipadas.

Preguntas similare

Leer las respuestas

#1 Maxi
27/06/2006 - 20:06 | Informe spam
Hola, revisa el procedimiento almacendado:

sp_changeobjectowner


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"TR" escribió en el mensaje news:
Hola,

Tengo una base de datos llamada "database1" que tiene una serie de tablas
cuyo propietario es "usuario1". En usuarios de la database, tengo el
usurio "dbo" y el usuario "usuario1".

Cuando hago un select desde el Analizador de Consultas tengo que poner
siempre el usuario "usuario1" delante de la tabla, es decir:

select * from usuario1.tabla1

Yo lo que quiero es no poner "usuario1", que funcione tan solo poniendo:

select * from tabla1

Cuando el usuario "dbo" es propietario de las tablas esta última consulta
es correct.

Me gustaria saber como cambiar el usuario de las tablas para que el
propietario sea "dbo".

Alguien me puede ayudar?... es posible lo que expongo sin necesidad de
cambiar el propietario?

Un cordial saludo y gracias anticipadas.

Respuesta Responder a este mensaje
#2 TR
27/06/2006 - 20:12 | Informe spam
Hola Maxi,

Puedes explicarme un poco mejor... soy un poco novato en sql server

Gracias :)

Maxi escribió:
Hola, revisa el procedimiento almacendado:

sp_changeobjectowner

Respuesta Responder a este mensaje
#3 TR
27/06/2006 - 20:21 | Informe spam
Gracias Jorge,

Pero tengo que ir tabla por tabla ejecutando:

sp_changeobjectowner 'Usuario.NombreObjeto', 'NuevoDueño'

Tnego 78 tablas :S

jejeje

Saludos,

Jorge Gonzalez escribió:
TR,

Antes que nada te comento que un conjunto de objetos que pertenecen a un
usuario específico forman lo que se conoce como un Schema. En SQL Server
2000 este concepto no estaba completamente implementado. En SQL Server 2005
ya ha sido implementado de acuerdo a como lo define ANSI. El concepto es muy
poderoso para ciertas soluciones. Por esto te recomiendo documentar un poco
sobre Schemas en los BOL de 2005 para que el futuro se tome la desición del
ownership de objetos de la base de datos sobre una base científica.

En principio, si no usarás Schemas, lo más recomendable es que el dueño de
los objectos sea DBO como bien lo mencionas. De esta forma te evitarás tener
que calificar los objectos a través del usuario dueño.

para cambiar el ownership de un objeto utiliza:

sp_changeobjectowner 'Usuario.NombreObjeto', 'NuevoDueño'

Saludos

Jorge González


"TR" escribió en el mensaje news:

Hola,

Tengo una base de datos llamada "database1" que tiene una serie de tablas
cuyo propietario es "usuario1". En usuarios de la database, tengo el
usurio "dbo" y el usuario "usuario1".

Cuando hago un select desde el Analizador de Consultas tengo que poner
siempre el usuario "usuario1" delante de la tabla, es decir:

select * from usuario1.tabla1

Yo lo que quiero es no poner "usuario1", que funcione tan solo poniendo:

select * from tabla1

Cuando el usuario "dbo" es propietario de las tablas esta última consulta
es correct.

Me gustaria saber como cambiar el usuario de las tablas para que el
propietario sea "dbo".

Alguien me puede ayudar?... es posible lo que expongo sin necesidad de
cambiar el propietario?

Un cordial saludo y gracias anticipadas.






Respuesta Responder a este mensaje
#4 Alejandro Mesa
27/06/2006 - 20:31 | Informe spam
TR,

Yo lo que quiero es no poner "usuario1", que funcione tan solo poniendo:

select * from tabla1



1 - Puedes hacer login en Query Analyzer usando "usuario1".
2 - Puedes cambiar el dueño del objeto usando el procedimiento almacenado
sp_changeobjectowner

Ejemplo:

Login en QA usando una cuenta que sea miembro de sysadmin y ejecuta:

declare @sql nvarchar(4000)
declare @ts sysname
declare @tn sysname
declare my_cursor cursor
local
fast_forward
for
select
TABLE_SCHEMA,
TABLE_NAME
from
INFORMATION_SCHEMA.TABLES
where
TABLE_TYPE = 'BASE TABLE'
and TABLE_SCHEMA = 'usuario1'

open my_cursor

while 1 = 1
begin
fetch next from my_cursor into @ts, @tn

if @@error != 0 or @@fetch_status != 0 break

set @sql = N'EXEC sp_changeobjectowner ''' + @ts + '.' + @tn + ''',
@newowner'

execute sp_executesql @sql, N'@newowner sysname', 'dbo'
end

close my_cursor
deallocate my_cursor
go


AMB

"TR" wrote:

Hola,

Tengo una base de datos llamada "database1" que tiene una serie de
tablas cuyo propietario es "usuario1". En usuarios de la database, tengo
el usurio "dbo" y el usuario "usuario1".

Cuando hago un select desde el Analizador de Consultas tengo que poner
siempre el usuario "usuario1" delante de la tabla, es decir:

select * from usuario1.tabla1

Yo lo que quiero es no poner "usuario1", que funcione tan solo poniendo:

select * from tabla1

Cuando el usuario "dbo" es propietario de las tablas esta última
consulta es correct.

Me gustaria saber como cambiar el usuario de las tablas para que el
propietario sea "dbo".

Alguien me puede ayudar?... es posible lo que expongo sin necesidad de
cambiar el propietario?

Un cordial saludo y gracias anticipadas.


Respuesta Responder a este mensaje
#5 TR
27/06/2006 - 20:39 | Informe spam
Gracias Alejandro,

He ejecutado pero sigue teniendo el mismo propietario. No se si hay que
cambiar algo en el procedimiento que me has pasado,

Saludos,

Alejandro Mesa escribió:
TR,


Yo lo que quiero es no poner "usuario1", que funcione tan solo poniendo:

select * from tabla1




1 - Puedes hacer login en Query Analyzer usando "usuario1".
2 - Puedes cambiar el dueño del objeto usando el procedimiento almacenado
sp_changeobjectowner

Ejemplo:

Login en QA usando una cuenta que sea miembro de sysadmin y ejecuta:

declare @sql nvarchar(4000)
declare @ts sysname
declare @tn sysname
declare my_cursor cursor
local
fast_forward
for
select
TABLE_SCHEMA,
TABLE_NAME
from
INFORMATION_SCHEMA.TABLES
where
TABLE_TYPE = 'BASE TABLE'
and TABLE_SCHEMA = 'usuario1'

open my_cursor

while 1 = 1
begin
fetch next from my_cursor into @ts, @tn

if @@error != 0 or @@fetch_status != 0 break

set @sql = N'EXEC sp_changeobjectowner ''' + @ts + '.' + @tn + ''',
@newowner'

execute sp_executesql @sql, N'@newowner sysname', 'dbo'
end

close my_cursor
deallocate my_cursor
go


AMB

"TR" wrote:


Hola,

Tengo una base de datos llamada "database1" que tiene una serie de
tablas cuyo propietario es "usuario1". En usuarios de la database, tengo
el usurio "dbo" y el usuario "usuario1".

Cuando hago un select desde el Analizador de Consultas tengo que poner
siempre el usuario "usuario1" delante de la tabla, es decir:

select * from usuario1.tabla1

Yo lo que quiero es no poner "usuario1", que funcione tan solo poniendo:

select * from tabla1

Cuando el usuario "dbo" es propietario de las tablas esta última
consulta es correct.

Me gustaria saber como cambiar el usuario de las tablas para que el
propietario sea "dbo".

Alguien me puede ayudar?... es posible lo que expongo sin necesidad de
cambiar el propietario?

Un cordial saludo y gracias anticipadas.





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