Bagaimana cara mentransfer kepemilikan skema dbo di SQL Server 2012

15

Saya tidak sengaja memberi pengguna kepemilikan skema db_owner (menggunakan kotak centang di UI seperti di bawah ini) dan sekarang saya tidak bisa:

  1. Mentransfer kepemilikan ke pengguna lain
  2. Jatuhkan pengguna dari DB (meskipun saya dapat menghapus login di SQL Server)

Saya mencoba Prinsipal database memiliki skema dalam database, dan tidak dapat dijatuhkan.

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo

Dan sementara itu selesai dengan sukses, pengguna masih memiliki kepemilikan, dan itu berwarna abu-abu jadi saya juga tidak bisa melakukannya di UI.

masukkan deskripsi gambar di sini

Menemukan solusi:

Selain jawaban Arron , saya menyadari bahwa saya menjalankan perintah di atas dalam DB yang salah (facepalm!). Setelah DB dikoreksi, SQL di atas dan jawaban di bawah berfungsi.

Praha Sangha
sumber

Jawaban:

21

Pendekatan yang sedikit berbeda adalah mengembalikan skema ke pemilik / skema asli, alih-alih ke dbo:

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