sp_changedbowner (Transact-SQL)
Cambia el propietario de la base de datos actual.
Convenciones 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)