sp_changedbowner (Transact-SQL)

Se aplica a:SQL Server

Cambia el propietario de la base de datos actual.

Importante

Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Use ALTER AUTHORIZATION en su lugar.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

[ @loginame= ] 'login'
Es el identificador de inicio de sesión del nuevo propietario de la base de datos actual. login es sysname, sin ningún valor predeterminado. el inicio de sesión debe ser un usuario de WINDOWS o un inicio de sesión de SQL Server existente. login no puede convertirse en el propietario de la base de datos actual si ya tiene acceso a la base de datos a través de una cuenta de seguridad de usuario existente dentro de la base de datos. Para evitar esto, quite antes el usuario de la base de datos actual.

[ @map= ] remap_alias_flag
El parámetro remap_alias_flag está en desuso porque se han quitado los alias de inicio de sesión de SQL Server. El uso del parámetro remap_alias_flag no produce un error, pero no tiene ningún efecto.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

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 se puede cambiar el propietario de las bases de datos maestra, de modelos o tempdb del sistema.

Para mostrar una lista de los valores de inicio de sesión válidos, ejecute el procedimiento almacenado sp_helplogins.

La ejecución de sp_changedbowner con solo el parámetro de inicio de sesión cambia la propiedad de la base de datos al inicio de sesión.

Puede cambiar el propietario de cualquier elemento protegible usando 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.

Ejemplos

En el ejemplo siguiente, el nombre de inicio de sesión Albert se convierte en el propietario de la base de datos actual.

EXEC sp_changedbowner 'Albert';  

Consulte también

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