sp_changedbowner (Transact-SQL)

Cambia el propietario de la base de datos actual.

Nota importanteImportante

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

Icono de vínculo a temas 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 de tipo sysname y no tiene valor predeterminado. login debe ser un inicio de sesión de SQL Server existente o un usuario de Windows. login no puede convertirse en el propietario de la base de datos actual si ya tiene acceso a la base de datos mediante 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 ha quedado desusado porque los alias de inicio de sesión se han quitado de SQL Server. El uso del parámetro remap_alias_flag no produce errores pero no tiene ningún efecto.

Valores del 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.

El propietario de las bases de datos del sistema master, model o tempdb no se puede cambiar.

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

Si se ejecuta sp_changedbowner solamente con el parámetro login, se cambiará la propiedad de la base de datos a login.

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'

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)