IZIN Utama Server GRANT (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Memberikan izin pada login SQL Server.

Konvensi sintaks transact-SQL

Sintaksis

GRANT permission [ ,...n ] }   
    ON   
    { [ LOGIN :: SQL_Server_login ]  
      | [ SERVER ROLE :: server_role ] }   
    TO <server_principal> [ ,...n ]  
    [ WITH GRANT OPTION ]  
    [ AS SQL_Server_login ]   
  
<server_principal> ::=   
    SQL_Server_login  
    | SQL_Server_login_from_Windows_login   
    | SQL_Server_login_from_certificate   
    | SQL_Server_login_from_AsymKey   
    | server_role  

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 login SQL Server. Untuk daftar izin, lihat bagian Keterangan nanti dalam topik ini.

LOGIN ::SQL_Server_login
Menentukan login SQL Server tempat izin diberikan. Kualifikasi cakupan (::) diperlukan.

PERAN SERVER ::server_role
Menentukan peran server yang ditentukan pengguna tempat izin diberikan. Kualifikasi cakupan (::) diperlukan.

UNTUK <server_principal> Menentukan peran masuk atau server SQL Server tempat izin diberikan.

SQL_Server_login
Menentukan nama login SQL Server.

SQL_Server_login_from_Windows_login
Menentukan nama login SQL Server yang dibuat dari login Windows.

SQL_Server_login_from_certificate
Menentukan nama login SQL Server yang dipetakan ke sertifikat.

SQL_Server_login_from_AsymKey
Menentukan nama login SQL Server yang dipetakan ke kunci asimetris.

server_role
Menentukan nama peran server yang ditentukan pengguna.

DENGAN OPSI GRANT
Menunjukkan bahwa prinsipal juga akan diberikan kemampuan untuk memberikan izin yang ditentukan kepada prinsipal lain.

AS SQL_Server_login
Menentukan login SQL Server tempat prinsipal menjalankan kueri ini memperoleh haknya untuk memberikan izin.

Keterangan

Izin di cakupan server hanya dapat diberikan ketika database saat ini adalah master.

Informasi tentang izin server terlihat dalam tampilan katalog sys.server_permissions . Informasi tentang prinsipal server terlihat dalam tampilan katalog sys.server_principals .

Login SQL Server dan peran server adalah keamanan tingkat server. Izin paling spesifik dan terbatas yang dapat diberikan pada login SQL Server atau peran server tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.

Masuk SQL Server atau izin peran server Tersirat oleh login SQL Server atau izin peran server Tersirat oleh izin server
CONTROL CONTROL SERVER KONTROL
MENIRU CONTROL SERVER KONTROL
MELIHAT DEFINISI CONTROL LIHAT DEFINISI APA PUN
ALTER CONTROL ALTER ANY LOGIN

MENGUBAH PERAN SERVER APA PUN

Izin

Untuk masuk, memerlukan izin CONTROL pada izin masuk atau UBAH LOGIN APA PUN di server.

Untuk peran server, memerlukan izin CONTROL pada peran server atau mengubah izin PERAN SERVER APA PUN di server.

Contoh

J. Memberikan izin IMPERSONATE pada login

Contoh berikut memberikan IMPERSONATE izin pada login WanidaBenshoof SQL Server ke login SQL Server yang dibuat dari pengguna AdvWorks\YoonMWindows .

USE master;  
GRANT IMPERSONATE ON LOGIN::WanidaBenshoof to [AdvWorks\YoonM];  
GO  

B. Memberikan izin VIEW DEFINITION dengan GRANT OPTION

Contoh berikut memberikan VIEW DEFINITION masuk EricKurjan SQL Server ke login RMeyyappan SQL Server dengan GRANT OPTION.

USE master;  
GRANT VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan   
    WITH GRANT OPTION;  
GO   

C. Memberikan izin VIEW DEFINITION pada peran server

Contoh berikut memberikan VIEW DEFINITIONSales peran server ke Auditors peran server.

USE master;  
GRANT VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;  
GO   

Lihat Juga

sys.server_principals (T-SQL)
sys.server_permissions (T-SQL)
CREATE LOGIN (Transact-SQL)
Prinsipal (Mesin Database)
Izin (Mesin Database)
Fungsi Keamanan (T-SQL)
Prosedur Tersimpan Keamanan (Transact-SQL)