sp_changeobjectowner (Transact-SQL)
Se aplica a:SQL Server
Cambia el propietario de un objeto en la base de datos actual.
Importante
Este procedimiento almacenado solo funciona con los objetos disponibles en Microsoft SQL Server 2000 (8.x). 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 SCHEMA o ALTER AUTHORIZATION en su lugar. sp_changeobjectowner cambia tanto el esquema como el propietario. Para conservar la compatibilidad con versiones anteriores de SQL Server, este procedimiento almacenado solo cambiará los propietarios de objetos cuando el propietario actual y el nuevo propietario tengan el mismo nombre que sus nombres de usuario de base de datos.
Importante
Se ha agregado un nuevo requisito a los permisos de este procedimiento almacenado.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'
Argumentos
[ @objname = ] 'object'
Es el nombre de una tabla, vista, función definida por el usuario o procedimiento almacenado existente en la base de datos actual. object es nvarchar (776), sin valor predeterminado. el objeto se puede calificar con el propietario del objeto existente, en el formulario existing_owner.si el esquema y su propietario tienen el mismo nombre.
[ @newowner = ] 'owner_ '
Es el nombre de la cuenta de seguridad que será el nuevo propietario del objeto. owner es sysname, sin valor predeterminado. owner debe ser un usuario de base de datos válido, un rol de servidor, un inicio de sesión de Microsoft Windows o un grupo de Windows con acceso a la base de datos actual. Si el nuevo propietario es un usuario o grupo de Windows que no tiene una entidad de seguridad de base de datos correspondiente, se creará un usuario de base de datos.
Valores de código de retorno
0 (correcto) o 1 (error)
Comentarios
sp_changeobjectowner quita todos los permisos existentes del objeto . Tendrá que volver a aplicar los permisos que quiera conservar después de ejecutar sp_changeobjectowner. Por lo tanto, se recomienda crear scripts de permisos existentes antes de ejecutar sp_changeobjectowner. Una vez modificado el propietario del objeto, se puede utilizar el script para volver a aplicar los permisos. Deberá modificar el propietario del objeto en el script de permisos antes de la ejecución.
Para cambiar el propietario de un elemento protegible, utilice ALTER AUTHORIZATION. Para cambiar un esquema, utilice ALTER SCHEMA.
Permisos
Requiere la pertenencia al rol fijo de base de datos db_owner o pertenencia tanto al rol fijo de base de datos db_ddladmin como al rol fijo de base de datos db_securityadmin y también al permiso CONTROL en el objeto .
Ejemplos
En el ejemplo siguiente se cambia el propietario de la authors
tabla a Corporate\GeorgeW
.
EXEC sp_changeobjectowner 'authors', 'Corporate\GeorgeW';
GO
Consulte también
ALTER SCHEMA (Transact-SQL)
ALTER DATABASE (Transact-SQL)
ALTER AUTHORIZATION (Transact-SQL)
sp_changedbowner (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de