Izin Jenis GRANT (Transact-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Memberikan izin pada jenis.
Sintaksis
GRANT permission [ ,...n ] ON TYPE :: [ schema_name . ] type_name
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
izin
Menentukan izin yang dapat diberikan pada jenis. Untuk daftar izin, lihat bagian Keterangan nanti dalam topik ini.
ON TYPE :: [ schema_name. ] type_name
Menentukan jenis di mana izin diberikan. Kualifikasi cakupan (::) diperlukan. Jika schema_name tidak ditentukan, skema default akan digunakan. Jika schema_name ditentukan, kualifikasi cakupan skema (.) diperlukan.
UNTUK <database_principal> Menentukan prinsipal tempat izin diberikan.
DENGAN OPSI GRANT
Menunjukkan bahwa prinsipal juga akan diberikan kemampuan untuk memberikan izin yang ditentukan kepada prinsipal lain.
AS <database_principal> Menentukan prinsipal dari mana prinsipal yang menjalankan kueri ini memperoleh haknya untuk memberikan izin.
Database_user
Menentukan pengguna database.
Database_role
Menentukan peran database.
Application_role
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru, SQL Database
Menentukan peran aplikasi.
Database_user_mapped_to_Windows_User
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru
Menentukan pengguna database yang dipetakan ke pengguna Windows.
Database_user_mapped_to_Windows_Group
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru
Menentukan pengguna database yang dipetakan ke grup Windows.
Database_user_mapped_to_certificate
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru
Menentukan pengguna database yang dipetakan ke sertifikat.
Database_user_mapped_to_asymmetric_key
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru
Menentukan pengguna database yang dipetakan ke kunci asimetris.
Database_user_with_no_login
Menentukan pengguna database tanpa prinsipal tingkat server yang sesuai.
Keterangan
Jenis adalah tingkat skema yang dapat diamankan yang dimuat oleh skema yang merupakan induknya dalam hierarki izin.
Penting
Izin GRANT, DENY, dan REVOKE tidak berlaku untuk jenis sistem. Jenis yang ditentukan pengguna dapat diberikan izin. Untuk informasi selengkapnya tentang jenis yang ditentukan pengguna, lihat Bekerja dengan Jenis yang Ditentukan Pengguna di SQL Server.
Izin paling spesifik dan terbatas yang dapat diberikan pada jenis tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.
Izin jenis | Tersirat oleh izin jenis | Tersirat oleh izin skema |
---|---|---|
CONTROL | CONTROL | CONTROL |
EXECUTE | CONTROL | EXECUTE |
REFERENCES | CONTROL | REFERENCES |
AMBIL KEPEMILIKAN | CONTROL | CONTROL |
MELIHAT DEFINISI | CONTROL | MELIHAT DEFINISI |
Izin
Pemberi hibah (atau prinsipal yang ditentukan dengan opsi AS) harus memiliki izin itu sendiri dengan GRANT OPTION, atau izin yang lebih tinggi yang menyiratkan izin diberikan.
Jika Anda menggunakan opsi AS, persyaratan tambahan berikut berlaku.
AS | Izin tambahan diperlukan |
---|---|
Pengguna database | IZIN IMPERSONATE pada pengguna, keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
Pengguna database dipetakan ke login Windows | IZIN IMPERSONATE pada pengguna, keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
Pengguna database dipetakan ke grup Windows | Keanggotaan dalam grup Windows, keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
Pengguna database dipetakan ke sertifikat | Keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
Pengguna database dipetakan ke kunci asimetris | Keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
Pengguna database tidak dipetakan ke perwakilan server mana pun | IZIN IMPERSONATE pada pengguna, keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
Peran database | UBAH izin pada peran, keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
Peran aplikasi | UBAH izin pada peran, keanggotaan dalam peran database tetap db_securityadmin , keanggotaan dalam peran database tetap db_owner , atau keanggotaan dalam peran server tetap sysadmin . |
Contoh
Contoh berikut memberikan VIEW DEFINITION
izin dengan GRANT OPTION
pada jenis PhoneNumber
yang ditentukan pengguna kepada pengguna KhalidR
. PhoneNumber
terletak dalam skema Telemarketing
.
GRANT VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber
TO KhalidR WITH GRANT OPTION;
GO
Lihat Juga
Izin Jenis DENY (Transact-SQL)
MENCABUT Izin Jenis (Transact-SQL)
CREATE TYPE (Transact-SQL)
Izin (Mesin Database)
Securable
Prinsipal (Mesin Database)