sp_changedbowner (Transact-SQL)

Cambia el propietario de la base de datos actual.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_changedbowner [ @loginame = ] 'login'
          [ , [ @map= ] remap_alias_flag ]

Argumentos

  • [ @loginame= ] 'login'
    Es el Id. del inicio de sesión del nuevo propietario de la base de datos actual. login es de tipo sysname y no tiene valor predeterminado. login debe ser un inicio de sesión de SQL Server existente o un usuario de Microsoft Windows. login no puede convertirse en el propietario de la base de datos actual si ya tiene acceso a la base de datos mediante un alias existente o una cuenta de seguridad del usuario dentro de la base de datos. Para evitar esto, quite antes el alias o el usuario de la base de datos actual.
  • [ @map= ] remap_alias_flag
    Es el valor true o false, que indica si los alias existentes asignados al anterior propietario de la base de datos (dbo) están asignados al nuevo propietario de la base de datos actual o se han eliminado. remap_alias_flag es de tipo varchar(5) y su valor predeterminado es NULL. Indica que los alias existentes en la anterior dbo están asignado al nuevo propietario de la base de datos actual. false indica que los alias existentes en la anterior base de datos se han eliminado.

Notas

Después de ejecutar sp_changedbowner, el nuevo propietario se conoce como el usuario dbo de la base de datos. El dbo disfruta implícitamente de permisos para realizar todas las actividades de la base de datos.

No es posible cambiar el propietario de las bases de datos del sistema master, model o tempdb.

Para ver una lista de los valores válidos de login, ejecute el procedimiento almacenado sp_helplogins.

Si se ejecuta sp_changedbowner únicamente con el parámetro login, se cambiará la propiedad de la base de datos a login y se asignarán al nuevo propietario de la base de datos los alias de los usuarios que tenían asignados a dbo anteriormente.

Puede cambiar el propietario de cualquier asegurable mediante la instrucción ALTER AUTHORIZATION. Para obtener más información, vea ALTER AUTHORIZATION (Transact-SQL).

Permisos

Requiere permiso TAKE OWNERSHIP en la base de datos. Si el nuevo propietario tiene un usuario correspondiente en la base de datos, requiere el permiso IMPERSONATE en el inicio de sesión, en caso contrario, requiere el permiso CONTROL SERVER en el servidor.

Valores de código de retorno

0 (correcto) o 1 (error)

Ejemplos

En el siguiente ejemplo se convierte al inicio de sesión Albert en el propietario de la base de datos actual, y se asignan a Albert los alias existentes asignados al propietario de la base de datos anterior.

EXEC sp_changedbowner 'Albert'

Vea también

Referencia

Procedimientos almacenados de seguridad (Transact-SQL)
CREATE DATABASE (Transact-SQL)
sp_dropalias (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helpdb (Transact-SQL)
sp_helplogins (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005