IZIN GRANT Database (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Platform System (PDW)
SQL di Microsoft Fabric
Warehouse di Microsoft Fabric
Memberikan izin pada database di SQL Server.
Sintaksis
GRANT <permission> [ ,...n ]
TO <database_principal> [ ,...n ] [ WITH GRANT OPTION ]
[ AS <database_principal> ]
<permission>::=
permission | ALL [ PRIVILEGES ]
<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 database. Untuk daftar izin, lihat bagian Keterangan nanti dalam topik ini.
SEMUA Opsi ini tidak memberikan semua izin yang mungkin. Memberikan SEMUA setara dengan memberikan izin berikut: BACKUP DATABASE, BACKUP LOG, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE, dan CREATE VIEW.
HAK ISTIMEWA Disertakan untuk kepatuhan ANSI-92. Tidak mengubah perilaku ALL.
WITH GRANT OPTION 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
Penting
Kombinasi izin ALTER dan REFERENCE dalam beberapa kasus dapat memungkinkan penerima untuk melihat data atau menjalankan fungsi yang tidak sah. Misalnya: Pengguna dengan izin ALTER pada tabel dan izin REFERENSI pada fungsi dapat membuat kolom komputasi melalui fungsi dan menjalankannya. Dalam hal ini, pengguna juga harus memiliki izin SELECT pada kolom komputasi.
Database adalah yang dapat diamankan yang dimuat oleh server yang merupakan induknya dalam hierarki izin. Izin paling spesifik dan terbatas yang dapat diberikan pada database tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.
Izin database | Tersirat oleh izin database | Tersirat oleh izin server |
---|---|---|
ADMINISTER DATABASE BULK OPERATIONS Berlaku untuk: SQL Database. |
CONTROL | SERVER KONTROL |
ALTER | CONTROL | ALTER ANY DATABASE |
MENGUBAH PERAN APLIKASI APA PUN | ALTER | SERVER KONTROL |
MENGUBAH RAKITAN APA PUN | ALTER | SERVER KONTROL |
MENGUBAH KUNCI ASIMETRIS APA PUN | ALTER | SERVER KONTROL |
MENGUBAH SERTIFIKAT APA PUN | ALTER | SERVER KONTROL |
MENGUBAH KUNCI ENKRIPSI KOLOM APA PUN | ALTER | SERVER KONTROL |
MENGUBAH DEFINISI KUNCI MASTER KOLOM APA PUN | ALTER | SERVER KONTROL |
MENGUBAH KONTRAK APA PUN | ALTER | SERVER KONTROL |
MENGUBAH AUDIT DATABASE APA PUN | ALTER | MENGUBAH AUDIT SERVER APA PUN |
MENGUBAH PEMICU DDL DATABASE APA PUN | ALTER | SERVER KONTROL |
MENGUBAH PEMBERITAHUAN PERISTIWA DATABASE APA PUN | ALTER | MENGUBAH PEMBERITAHUAN PERISTIWA APA PUN |
MENGUBAH SESI PERISTIWA DATABASE APA PUN Berlaku untuk: SQL Database. |
ALTER | MENGUBAH SESI PERISTIWA APA PUN |
MENGUBAH KONFIGURASI CAKUPAN DATABASE APA PUN Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru, SQL Database. |
CONTROL | SERVER KONTROL |
MENGUBAH RUANG DATA APA PUN | ALTER | SERVER KONTROL |
ALTER ANY EXTERNAL DATA SOURCE | ALTER | SERVER KONTROL |
ALTER ANY EXTERNAL FILE FORMAT | ALTER | SERVER KONTROL |
MENGUBAH PUSTAKA EKSTERNAL APA PUN Berlaku untuk: SQL Server 2017 (14.x). |
CONTROL | SERVER KONTROL |
MENGUBAH KATALOG FULLTEXT APA PUN | ALTER | SERVER KONTROL |
UBAH MASKER APA PUN | CONTROL | SERVER KONTROL |
UBAH JENIS PESAN APA PUN | ALTER | SERVER KONTROL |
MENGUBAH PENGIKATAN LAYANAN JARAK JAUH APA PUN | ALTER | SERVER KONTROL |
MENGUBAH PERAN APA PUN | ALTER | SERVER KONTROL |
MENGUBAH RUTE APA PUN | ALTER | SERVER KONTROL |
ALTER ANY SCHEMA | ALTER | SERVER KONTROL |
MENGUBAH KEBIJAKAN KEAMANAN APA PUN Berlaku untuk: Azure SQL Database. |
CONTROL | SERVER KONTROL |
MENGUBAH KLASIFIKASI SENSITIVITAS APA PUN Berlaku untuk: SQL Server (SQL Server 2019 dan yang lebih baru), Azure SQL Database. |
CONTROL | SERVER KONTROL |
MENGUBAH LAYANAN APA PUN | ALTER | SERVER KONTROL |
MENGUBAH KUNCI SIMETRIS APA PUN | ALTER | SERVER KONTROL |
MENGUBAH PENGGUNA APA PUN | ALTER | SERVER KONTROL |
MENGOTENTIKASI | CONTROL | MENGAUTENTIKASI SERVER |
DATABASE CADANGAN | CONTROL | SERVER KONTROL |
LOG CADANGAN | CONTROL | SERVER KONTROL |
TITIK PEMERIKSAAN | CONTROL | SERVER KONTROL |
MENGHUBUNG | SAMBUNGKAN REPLIKASI | SERVER KONTROL |
SAMBUNGKAN REPLIKASI | CONTROL | SERVER KONTROL |
CONTROL | CONTROL | SERVER KONTROL |
CREATE AGGREGATE | ALTER | SERVER KONTROL |
MEMBUAT PUSTAKA EKSTERNAL APA PUN Berlaku untuk: SQL Server 2017 (14.x). |
CONTROL | SERVER KONTROL |
MEMBUAT RAKITAN | MENGUBAH RAKITAN APA PUN | SERVER KONTROL |
MEMBUAT KUNCI ASIMETRIS | MENGUBAH KUNCI ASIMETRIS APA PUN | SERVER KONTROL |
BUAT SERTIFIKAT | MENGUBAH SERTIFIKAT APA PUN | SERVER KONTROL |
BUAT KONTRAK | MENGUBAH KONTRAK APA PUN | SERVER KONTROL |
BUAT DATABASE | CONTROL | CREATE ANY DATABASE |
MEMBUAT PEMBERITAHUAN PERISTIWA DDL DATABASE | MENGUBAH PEMBERITAHUAN PERISTIWA DATABASE APA PUN | MEMBUAT PEMBERITAHUAN PERISTIWA DDL |
BUAT DEFAULT | ALTER | SERVER KONTROL |
BUAT KATALOG FULLTEXT | MENGUBAH KATALOG FULLTEXT APA PUN | SERVER KONTROL |
CREATE FUNCTION | ALTER | SERVER KONTROL |
MEMBUAT JENIS PESAN | UBAH JENIS PESAN APA PUN | SERVER KONTROL |
CREATE PROCEDURE | ALTER | SERVER KONTROL |
BUAT ANTREAN | ALTER | SERVER KONTROL |
MEMBUAT PENGIKATAN LAYANAN JARAK JAUH | MENGUBAH PENGIKATAN LAYANAN JARAK JAUH APA PUN | SERVER KONTROL |
BUAT PERAN | MENGUBAH PERAN APA PUN | SERVER KONTROL |
BUAT RUTE | MENGUBAH RUTE APA PUN | SERVER KONTROL |
BUAT ATURAN | ALTER | SERVER KONTROL |
CREATE SCHEMA | ALTER ANY SCHEMA | SERVER KONTROL |
BUAT LAYANAN | MENGUBAH LAYANAN APA PUN | SERVER KONTROL |
MEMBUAT KUNCI SIMETRIS | MENGUBAH KUNCI SIMETRIS APA PUN | SERVER KONTROL |
MEMBUAT SINONIM | ALTER | SERVER KONTROL |
CREATE TABLE | ALTER | SERVER KONTROL |
CREATE TYPE | ALTER | SERVER KONTROL |
BUAT TAMPILAN | ALTER | SERVER KONTROL |
MEMBUAT KOLEKSI SKEMA XML | ALTER | SERVER KONTROL |
DELETE | CONTROL | SERVER KONTROL |
EXECUTE | CONTROL | SERVER KONTROL |
JALANKAN TITIK AKHIR EKSTERNAL APA PUN Berlaku untuk: Azure SQL Database. |
CONTROL | SERVER KONTROL |
JALANKAN SKRIP EKSTERNAL APA PUN Berlaku untuk: SQL Server 2016 (13.x). |
CONTROL | SERVER KONTROL |
JALANKAN SKRIP EKSTERNAL Berlaku untuk: SQL Server 2019 (15.x). |
JALANKAN SKRIP EKSTERNAL APA PUN | SERVER KONTROL |
INSERT | CONTROL | SERVER KONTROL |
KILL DATABASE CONNECTION Berlaku untuk: Azure SQL Database. |
CONTROL | MENGUBAH KONEKSI APA PUN |
REFERENCES | CONTROL | SERVER KONTROL |
SELECT | CONTROL | SERVER KONTROL |
SHOWPLAN | CONTROL | ALTER TRACE |
BERLANGGANAN PEMBERITAHUAN KUERI | CONTROL | SERVER KONTROL |
AMBIL KEPEMILIKAN | CONTROL | SERVER KONTROL |
UNMASK | CONTROL | SERVER KONTROL |
UPDATE | CONTROL | SERVER KONTROL |
LIHAT DEFINISI KUNCI ENKRIPSI KOLOM APA PUN | CONTROL | LIHAT DEFINISI APA PUN |
LIHAT DEFINISI KUNCI MASTER KOLOM APA PUN | CONTROL | LIHAT DEFINISI APA PUN |
TAMPILKAN STATUS DATABASE | CONTROL | LIHAT STATUS SERVER |
MELIHAT DEFINISI | CONTROL | LIHAT DEFINISI APA PUN |
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 granting_principal | 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. |
Pemilik objek dapat memberikan izin pada objek yang mereka miliki. Prinsipal yang memiliki izin CONTROL pada yang dapat diamankan dapat memberikan izin pada yang dapat diamankan.
Pemberi izin SERVER KONTROL, seperti anggota peran server tetap sysadmin, dapat memberikan izin apa pun pada setiap yang dapat diamankan di server.
Contoh
J. Memberikan izin untuk membuat tabel
Contoh berikut memberikan CREATE TABLE
izin pada AdventureWorks
database kepada pengguna MelanieK
.
USE AdventureWorks;
GRANT CREATE TABLE TO MelanieK;
GO
B. Memberikan izin SHOWPLAN ke peran aplikasi
Contoh berikut memberikan SHOWPLAN
izin pada AdventureWorks2022
database ke peran AuditMonitor
aplikasi .
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru, SQL Database
USE AdventureWorks2022;
GRANT SHOWPLAN TO AuditMonitor;
GO
C. Memberikan CREATE VIEW dengan GRANT OPTION
Contoh berikut memberikan CREATE VIEW
izin pada AdventureWorks2022
database kepada pengguna CarmineEs
dengan hak untuk diberikan CREATE VIEW
kepada prinsipal lain.
USE AdventureWorks2022;
GRANT CREATE VIEW TO CarmineEs WITH GRANT OPTION;
GO
D. Memberikan izin CONTROL kepada pengguna database
Contoh berikut memberikan CONTROL
izin pada AdventureWorks2022
database kepada pengguna Sarah
database . Pengguna harus ada dalam database dan konteks harus diatur ke database.
USE AdventureWorks2022;
GRANT CONTROL ON DATABASE::AdventureWorks2022 TO Sarah;
GO