Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Titik akhir analitik SQL di Microsoft Fabric
Gudang di Microsoft Fabric
Database SQL di Microsoft Fabric
Memberikan izin pada database di SQL Server.
Syntax
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
Arguments
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 ALL setara dengan pemberian izin berikut: BACKUP, LOGDATABASE, BACKUP, CREATE DEFAULTCREATE FUNCTIONCREATE PROCEDURECREATE RULEdan .CREATE TABLECREATE VIEW
HAK ISTIMEWA Disertakan untuk kepatuhan ANSI-92. Tidak mengubah perilaku ALL.
DENGAN GRANT OPSI 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.
Remarks
Important
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 |
|---|---|---|
| MENGELOLA DATABASE OPERASI MASSAL Berlaku untuk: SQL Database. |
CONTROL | SERVER KONTROL |
| ALTER | CONTROL | MENGUBAH SEMUA DATABASE |
| MENGUBAH SEMUA APPLICATION ROLE | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA ASSEMBLY | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA ASYMMETRIC KEY | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA CERTIFICATE | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA COLUMN ENCRYPTION KEY | ALTER | SERVER KONTROL |
| UBAH DEFINISI APA PUN COLUMN MASTER KEY | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA CONTRACT | ALTER | SERVER KONTROL |
| MENGUBAH AUDIT APA PUN DATABASE | ALTER | MENGUBAH SEMUA SERVER AUDIT |
| UBAH DDL APA PUN DATABASETRIGGER | ALTER | SERVER KONTROL |
| UBAH APA SAJA DATABASEEVENT NOTIFICATION | ALTER | MENGUBAH SEMUA EVENT NOTIFICATION |
| UBAH APA SAJA DATABASEEVENT SESSION Berlaku untuk: SQL Database. |
ALTER | MENGUBAH SEMUA EVENT SESSION |
| MENGUBAH SEMUA DATABASE SCOPED CONFIGURATION Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru, SQL Database. |
CONTROL | SERVER KONTROL |
| MENGUBAH RUANG DATA APA PUN | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA EXTERNAL DATA SOURCE | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA EXTERNAL FILE FORMAT | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA EXTERNAL LIBRARY Berlaku untuk: SQL Server 2017 (14.x). |
CONTROL | SERVER KONTROL |
| MENGUBAH SEMUA FULLTEXT CATALOG | ALTER | SERVER KONTROL |
| UBAH MASKER APA PUN | CONTROL | SERVER KONTROL |
| MENGUBAH SEMUA MESSAGE TYPE | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA REMOTE SERVICE BINDING | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA ROLE | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA ROUTE | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA SCHEMA | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA SECURITY POLICY Berlaku untuk: Azure SQL Database. |
CONTROL | SERVER KONTROL |
| MENGUBAH SEMUA SENSITIVITY CLASSIFICATION Berlaku untuk: SQL Server (SQL Server 2019 dan yang lebih baru), Azure SQL Database. |
CONTROL | SERVER KONTROL |
| MENGUBAH SEMUA SERVICE | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA SYMMETRIC KEY | ALTER | SERVER KONTROL |
| MENGUBAH SEMUA USER | ALTER | SERVER KONTROL |
| AUTHENTICATE | CONTROL | MENGAUTENTIKASI SERVER |
| BACKUP DATABASE | CONTROL | SERVER KONTROL |
| BACKUP CATATAN | CONTROL | SERVER KONTROL |
| CHECKPOINT | CONTROL | SERVER KONTROL |
| CONNECT | MENGHUBUNGKAN REPLIKASI | SERVER KONTROL |
| MENGHUBUNGKAN REPLIKASI | CONTROL | SERVER KONTROL |
| CONTROL | CONTROL | SERVER KONTROL |
| CREATE AGGREGATE | ALTER | SERVER KONTROL |
| BUAT APA SAJA EXTERNAL LIBRARY Berlaku untuk: SQL Server 2017 (14.x). |
CONTROL | SERVER KONTROL |
| CREATE ASSEMBLY | MENGUBAH SEMUA ASSEMBLY | SERVER KONTROL |
| CREATE ASYMMETRIC KEY | MENGUBAH SEMUA ASYMMETRIC KEY | SERVER KONTROL |
| CREATE CERTIFICATE | MENGUBAH SEMUA CERTIFICATE | SERVER KONTROL |
| CREATE CONTRACT | MENGUBAH SEMUA CONTRACT | SERVER KONTROL |
| CREATE DATABASE | CONTROL | BUAT APA SAJA DATABASE |
| CREATE DATABASE DDL EVENT NOTIFICATION | UBAH APA SAJA DATABASEEVENT NOTIFICATION | BUAT DDL EVENT NOTIFICATION |
| CREATE DEFAULT | ALTER | SERVER KONTROL |
| CREATE FULLTEXT CATALOG | MENGUBAH SEMUA FULLTEXT CATALOG | SERVER KONTROL |
| CREATE FUNCTION | ALTER | SERVER KONTROL |
| CREATE MESSAGE TYPE | MENGUBAH SEMUA MESSAGE TYPE | SERVER KONTROL |
| CREATE PROCEDURE | ALTER | SERVER KONTROL |
| CREATE QUEUE | ALTER | SERVER KONTROL |
| CREATE REMOTE SERVICE BINDING | MENGUBAH SEMUA REMOTE SERVICE BINDING | SERVER KONTROL |
| CREATE ROLE | MENGUBAH SEMUA ROLE | SERVER KONTROL |
| CREATE ROUTE | MENGUBAH SEMUA ROUTE | SERVER KONTROL |
| CREATE RULE | ALTER | SERVER KONTROL |
| CREATE SCHEMA | MENGUBAH SEMUA SCHEMA | SERVER KONTROL |
| CREATE SERVICE | MENGUBAH SEMUA SERVICE | SERVER KONTROL |
| CREATE SYMMETRIC KEY | MENGUBAH SEMUA SYMMETRIC KEY | SERVER KONTROL |
| CREATE SYNONYM | ALTER | SERVER KONTROL |
| CREATE TABLE | ALTER | SERVER KONTROL |
| CREATE TYPE | ALTER | SERVER KONTROL |
| CREATE VIEW | ALTER | SERVER KONTROL |
| CREATE XML SCHEMA COLLECTION | ALTER | SERVER KONTROL |
| DELETE | CONTROL | SERVER KONTROL |
| EXECUTE | CONTROL | SERVER KONTROL |
| JALANKAN EKSTERNAL APA PUN ENDPOINT 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 |
| MATIKAN DATABASE KONEKSI Berlaku untuk: Azure SQL Database. |
CONTROL | MENGUBAH KONEKSI APA PUN |
| REFERENCES | CONTROL | SERVER KONTROL |
| SELECT | CONTROL | SERVER KONTROL |
| SHOWPLAN | CONTROL | UBAH JEJAK |
| BERLANGGANAN PEMBERITAHUAN KUERI | CONTROL | SERVER KONTROL |
| AMBIL KEPEMILIKAN | CONTROL | SERVER KONTROL |
| UNMASK | CONTROL | SERVER KONTROL |
| UPDATE | CONTROL | SERVER KONTROL |
| VIEWDEFINISI APA PUN COLUMN ENCRYPTION KEY | CONTROL | VIEW DEFINISI APA PUN |
| VIEWDEFINISI APA PUN COLUMN MASTER KEY | CONTROL | VIEW DEFINISI APA PUN |
|
VIEW
DATABASE STATUS KINERJA Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru. |
VIEW DATABASE NEGARA | VIEW STATUS KINERJA SERVER |
|
VIEW
DATABASE STATUS KEAMANAN Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru. |
VIEW DATABASE NEGARA | VIEW STATUS KEAMANAN SERVER |
| VIEW DATABASE NEGARA | CONTROL | VIEW STATUS SERVER |
| VIEW DEFINISI | CONTROL | VIEW DEFINISI APA PUN |
|
VIEW DEFINISI KINERJA Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru. |
VIEW DEFINISI | VIEW DEFINISI PERFORMA APA PUN |
|
VIEW DEFINISI KEAMANAN Berlaku untuk: SQL Server 2022 (16.x) dan versi yang lebih baru. |
VIEW DEFINISI | VIEW DEFINISI KEAMANAN APA SAJA |
Permissions
Pemberi (atau prinsipal yang ditentukan dengan opsi AS) harus memiliki izin itu sendiri dengan GRANT OPTION, atau izin yang lebih tinggi yang menyiratkan izin yang diberikan.
Jika Anda menggunakan opsi AS, persyaratan tambahan berikut berlaku.
| SEBAGAI 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 dalam 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.
Examples
A. 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 AdventureWorks2025 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. Pemberian CREATE VIEW dengan GRANT OPTION
Contoh berikut memberikan CREATE VIEW izin pada AdventureWorks2025 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 AdventureWorks2025 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