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 master
bases de datos del sistema , model
o 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';