Como transferir a propriedade do esquema dbo no SQL Server 2012

15

Eu acidentalmente dei a um usuário a propriedade do esquema db_owner (usando a caixa de seleção na interface do usuário como abaixo) e agora não posso:

  1. Transferir propriedade para outro usuário
  2. Solte o usuário do banco de dados (embora eu possa excluir o logon no SQL Server)

Eu tentei O principal do banco de dados possui um esquema no banco de dados e não pode ser descartado.

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo

E, embora tenha sido concluído com êxito, o usuário ainda tem propriedade e está acinzentado, de modo que também não consigo fazê-lo na interface do usuário.

insira a descrição da imagem aqui

Encontrou uma solução:

Além da resposta da Arron , percebi que executaria o comando acima no banco de dados errado (facepalm!). Depois que o banco de dados foi corrigido, o SQL acima e a resposta abaixo funcionaram.

Preet Sangha
fonte

Respostas:

21

Uma abordagem ligeiramente diferente seria devolver o esquema ao proprietário / esquema original, em vez de ao dbo:

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