Cómo transferir la propiedad del esquema dbo en SQL Server 2012

15

Accidentalmente le he dado a un usuario la propiedad del esquema db_owner (usando la casilla de verificación en la interfaz de usuario como se muestra a continuación) y ahora no puedo:

  1. Transfiere la propiedad a otro usuario
  2. Descartar al usuario de la base de datos (aunque puedo eliminar el inicio de sesión en el servidor SQL)

Intenté El principal de la base de datos posee un esquema en la base de datos y no se puede descartar.

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo

Y aunque se completó con éxito, el usuario todavía tiene la propiedad y está atenuado, por lo que parece que tampoco puedo hacerlo en la interfaz de usuario.

ingrese la descripción de la imagen aquí

Encontró una solución:

Además de la respuesta de Arron , me di cuenta de que había ejecutado el comando anterior en una base de datos incorrecta (¡facepalm!). Una vez que se corrigió la base de datos, tanto el SQL anterior como la respuesta a continuación funcionaron.

Sangha Preet
fuente

Respuestas:

21

Un enfoque ligeramente diferente sería devolver el esquema al propietario / esquema original, en lugar de dbo:

ALTER AUTHORIZATION ON SCHEMA::db_owner TO db_owner;
Aaron Bertrand
fuente