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 Pratinjau Microsoft Fabric
Memberikan izin pada yang dapat diamankan kepada prinsipal. Konsep umumnya adalah .GRANT <some permission> ON <some object> TO <some user, login, or group> Untuk diskusi umum tentang izin, lihat Izin (Mesin Database).
Syntax
Sintaks untuk database SQL Server, Azure SQL Database, dan Fabric SQL.
-- Simplified syntax for GRANT
GRANT { ALL [ PRIVILEGES ] }
| permission [ ( column [ , ...n ] ) ] [ , ...n ]
[ ON [ class :: ] securable ] TO principal [ , ...n ]
[ WITH GRANT OPTION ] [ AS principal ]
Sintaks untuk Azure Synapse Analytics, Gudang Data Paralel, dan gudang Microsoft Fabric.
GRANT
<permission> [ , ...n ]
[ ON [ <class_type> :: ] securable ]
TO principal [ , ...n ]
[ WITH GRANT OPTION ]
[;]
<permission> ::=
{ see the tables below }
<class_type> ::=
{
LOGIN
| DATABASE
| OBJECT
| ROLE
| SCHEMA
| USER
}
Arguments
ALL
Opsi ini tidak digunakan lagi dan dipertahankan hanya untuk kompatibilitas mundur. Ini tidak memberikan semua izin yang mungkin. Pemberian ALL setara dengan memberikan izin berikut.
| Securable | Permissions |
|---|---|
| Database |
BACKUP DATABASE, , BACKUP LOGCREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, , CREATE TABLE, danCREATE VIEW |
| Scalar function |
EXECUTE dan REFERENCES |
| Table-valued function |
DELETE, , INSERTREFERENCES, SELECT, danUPDATE |
| Stored procedure | EXECUTE |
| Table |
DELETE, , INSERTREFERENCES, SELECT, danUPDATE |
| View |
DELETE, , INSERTREFERENCES, SELECT, danUPDATE |
PRIVILEGES
Disertakan untuk kepatuhan ISO. Tidak mengubah perilaku ALL.
permission
Nama izin. Pemetaan izin yang valid ke yang dapat diamankan dijelaskan di bagian berikut.
column
Menentukan nama kolom dalam tabel tempat izin diberikan. Tanda kurung ( dan ) diperlukan.
class
Menentukan kelas yang dapat diamankan tempat izin diberikan. Kualifikasi :: cakupan diperlukan.
securable
Menentukan yang dapat diamankan di mana izin diberikan.
TO principal
Nama seorang kepala sekolah. Prinsipal tempat izin pada yang dapat diamankan dapat diberikan bervariasi, tergantung pada yang dapat diamankan. Lihat bagian berikut untuk kombinasi yang valid.
GRANT OPTION
Menunjukkan bahwa penerima hibah juga akan diberikan kemampuan untuk memberikan izin yang ditentukan kepada prinsipal lain.
AS principal
AS <principal> Gunakan klausul untuk menunjukkan bahwa prinsipal yang dicatat sebagai pemberi izin harus menjadi prinsipal selain orang yang menjalankan pernyataan. Misalnya, anggap bahwa pengguna Mary memiliki principal_id dari 12, dan pengguna Raul adalah utama 15. Maria menjalankan GRANT SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Sekarang sys.database_permissions tabel menunjukkan bahwa grantor_principal_id itu 15 (Raul) meskipun pernyataan itu benar-benar dijalankan oleh pengguna 12 (Mary).
AS Menggunakan klausa biasanya tidak disarankan kecuali Anda perlu secara eksplisit menentukan rantai izin. Untuk informasi selengkapnya, lihat Ringkasan Algoritma Pemeriksaan Izin.
Penggunaan AS dalam pernyataan ini tidak menyiratkan kemampuan untuk meniru pengguna lain.
Remarks
Sintaks GRANT lengkap pernyataan itu kompleks. Diagram sintaks sebelumnya disederhanakan untuk menarik perhatian pada strukturnya. Sintaks lengkap untuk memberikan izin pada jaminan tertentu dijelaskan dalam artikel yang tercantum nanti dalam artikel ini.
Pernyataan REVOKE dapat digunakan untuk menghapus izin yang diberikan, dan DENY pernyataan dapat digunakan untuk mencegah prinsipal mendapatkan izin tertentu melalui GRANT.
Memberikan izin akan menghapus DENY atau REVOKE izin tersebut pada securable yang ditentukan. Jika izin yang sama ditolak pada cakupan yang lebih tinggi yang berisi yang dapat diamankan, yang DENY diutamakan. Tetapi mencabut izin yang diberikan pada cakupan yang lebih tinggi tidak diutamakan.
Izin tingkat database diberikan dalam cakupan database yang ditentukan. Jika pengguna memerlukan izin ke objek di database lain, buat akun pengguna di database lain, atau berikan akses akun pengguna ke database lain, serta database saat ini.
Caution
Tingkat DENY tabel tidak lebih diutamakan daripada tingkat GRANTkolom . Ketidakkonsistensian dalam hierarki izin ini telah dipertahankan demi kompatibilitas mundur. Ini akan dihapus dalam rilis mendatang.
Prosedur sp_helprotect tersimpan sistem melaporkan izin pada tingkat database yang dapat diamankan.
Di Microsoft Fabric, CREATE USER saat ini tidak dapat dijalankan secara eksplisit. Saat GRANT atau DENY dijalankan, pengguna dibuat secara otomatis.
DENGAN OPSI GRANT
GRANT ... WITH GRANT OPTION menentukan bahwa prinsip keamanan yang menerima izin diberikan kemampuan untuk memberikan izin yang ditentukan ke akun keamanan lainnya. Ketika prinsipal yang menerima izin adalah peran atau grup Windows, AS klausa harus digunakan ketika izin objek perlu diberikan lebih lanjut kepada pengguna yang bukan anggota grup atau peran. Karena hanya pengguna, bukan grup atau peran, yang GRANT dapat menjalankan pernyataan, anggota grup atau peran tertentu harus menggunakan AS klausul untuk secara eksplisit memanggil peran atau keanggotaan grup saat memberikan izin. Contoh berikut menunjukkan bagaimana WITH GRANT OPTION digunakan ketika diberikan ke peran atau grup Windows.
-- Execute the following as a database owner
GRANT EXECUTE ON TestProc TO TesterRole WITH GRANT OPTION;
EXEC sp_addrolemember TesterRole, User1;
-- Execute the following as User1
-- The following fails because User1 does not have the permission as the User1
GRANT EXECUTE ON TestProc TO User2;
-- The following succeeds because User1 invokes the TesterRole membership
GRANT EXECUTE ON TestProc TO User2 AS TesterRole;
Bagan izin SQL Server
Untuk bagan berukuran poster dari semua izin Mesin Database dalam format PDF, lihat https://aka.ms/sql-permissions-poster.
Permissions
Pemberi hibah (atau prinsipal yang ditentukan dengan AS opsi ) harus memiliki izin itu sendiri dengan GRANT OPTION, atau izin yang lebih tinggi yang menyiratkan izin yang diberikan. Jika menggunakan opsi , AS persyaratan tambahan berlaku. Lihat artikel khusus yang dapat diamankan untuk detailnya.
Pemilik objek dapat memberikan izin pada objek yang mereka miliki. Prinsipal dengan CONTROL izin pada yang dapat diamankan dapat memberikan izin pada yang dapat diamankan.
CONTROL SERVER Pemberi izin, seperti anggota peran server tetap sysadmin, dapat memberikan izin apa pun pada setiap yang dapat diamankan di server.
CONTROL Pemberi izin pada database, seperti anggota peran database tetap db_owner, dapat memberikan izin apa pun pada setiap yang dapat diamankan dalam database.
CONTROL Pemberi izin pada skema dapat memberikan izin apa pun pada objek apa pun dalam skema.
Examples
Tabel berikut mencantumkan keamanan dan artikel yang menjelaskan sintaksis khusus yang dapat diamankan.