Perbedaan antara Skema yang Dimiliki dan Keanggotaan Peran untuk Microsoft SQL Server

24

Apakah ada perbedaan antara Owned Schemasdan Role Members?

Dari pemahaman saya, Role Membersadalah wajib - pengguna harus memiliki setidaknya satu dari kotak centang yang Role Membersdicentang.

Namun, Owned Schemasitu tidak wajib. Itu benar-benar membuat saya bertanya-tanya mengapa ada kebutuhan untuk memilikinya Owned Schemas.

masukkan deskripsi gambar di sini

Mendongkrak
sumber

Jawaban:

17

Apel dan Jeruk. Peran adalah peran dan skema adalah skema. Fakta bahwa ada peran yang disebut db_accessadmindan juga skema yang disebut db_accessadmintidak berarti peran adalah skema atau bahwa skema adalah peran. Peran adalah wadah keanggotaan keamanan, kepala sekolah adalah anggota dari suatu peran. Skema berisi objek skema terikat database dan dimiliki oleh kepala sekolah. Saat Anda membuat pengguna baru, Anda dapat memilih skema default-nya, menambahkannya ke peran tertentu, dan memberinya kepemilikan skema. Meskipun tindakan terpisah, para desainer dari dialog ini merasa mereka entah bagaimana terkait untuk jasa semua yang UX real estate (yang adalah dipertanyakan, tapi topik yang sama sekali berbeda).

Remus Rusanu
sumber
Membaca yang tersirat , saya menduga titik memiliki skema ini adalah agar misalnya, Anda dapat membuat objek tertentu dapat ditulis oleh pengguna dengan db_datareaderperan dan skema, yang tidak harus dibaca oleh orang lain. Akan bekerja dengan baik untuk aplikasi yang hanya membutuhkan akses baca dbo, tetapi perlu menginstal beberapa procs atau pemicu yang tersimpan. Tentu saja, itu masih mengharuskan Anda untuk menambahkan setiap pengguna ke peran dan skema secara manual.
jpaugh
-1

Ya .. ini adalah utas yang sangat lama tetapi masih 2 sen dari saya untuk mereka yang masih akan berkunjung ke sini. Tautan ini memiliki jawaban terbaik untuk kueri di atas.

https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/ownership-and-user-schema-separation-in-sql-server

Kutipan dari yang sama:

SQL Server dikirimkan dengan sepuluh skema yang telah ditentukan yang memiliki nama yang sama dengan pengguna dan peran basis data bawaan. Ini ada terutama untuk kompatibilitas mundur. Anda bisa menjatuhkan skema yang memiliki nama yang sama dengan peran basis data tetap jika Anda tidak membutuhkannya.

Ganesh
sumber