Compartir a través de


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 = ] N'loginame'
    [ , [ @map = ] 'map' ]
[ ; ]

Argumentos

[ @loginame = ] N'loginame'

Identificador de inicio de sesión del nuevo propietario de la base de datos actual. @loginame es sysname, sin ningún valor predeterminado. @loginame debe ser un usuario de WINDOWS o de inicio de sesión de SQL Server ya existente. @loginame 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 este escenario, quite primero al usuario dentro de la base de datos actual.

[ @map = ] 'map'

Este parámetro está en desuso y se mantiene para la compatibilidad con versiones anteriores de los scripts.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

Después sp_changedbowner de ejecutarse, el nuevo propietario se conoce como el dbo usuario dentro de la base de datos. El dbo usuario tiene permisos implícitos para realizar todas las actividades de la base de datos.

No se puede cambiar el propietario de las masterbases de datos del sistema , modelo tempdb .

Para mostrar una lista de los valores de @loginame válidos, ejecute el sp_helplogins procedimiento almacenado.

sp_changedbowner La ejecución solo con el parámetro @loginame cambia la propiedad de la base de datos a @loginame.

Puede cambiar el propietario de cualquier elemento protegible mediante la ALTER AUTHORIZATION instrucción . Para obtener más información, consulte ALTER AUTHORIZATION.

Permisos

Debe tener el permiso TAKE OWNERSHIP para la base de datos. Si el nuevo propietario tiene un usuario correspondiente en la base de datos, requiere IMPERSONATE permiso para el inicio de sesión; de lo contrario, requiere CONTROL SERVER permiso 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';