IZIN GRANT Database (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

Memberikan izin pada database di SQL Server.

Konvensi sintaks transact-SQL

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 AuditMonitoraplikasi .

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 Sarahdatabase . Pengguna harus ada dalam database dan konteks harus diatur ke database.

USE AdventureWorks2022;
GRANT CONTROL ON DATABASE::AdventureWorks2022 TO Sarah;
GO

Lihat Juga