IZIN SERVER GRANT (Transact-SQL)

Berlaku untuk: SQL Server (semua versi yang didukung)

Memberikan izin pada server.

Ikon tautan topikKonvensi Sintaks Transact-SQL

Sintaks

  
GRANT permission [ ,...n ]   
    TO <grantee_principal> [ ,...n ] [ WITH GRANT OPTION ]  
    [ AS <grantor_principal> ]  
  
<grantee_principal> ::= SQL_Server_login   
    | SQL_Server_login_mapped_to_Windows_login  
    | SQL_Server_login_mapped_to_Windows_group  
    | SQL_Server_login_mapped_to_certificate  
    | SQL_Server_login_mapped_to_asymmetric_key  
    | server_role  
  
<grantor_principal> ::= SQL_Server_login   
    | SQL_Server_login_mapped_to_Windows_login  
    | SQL_Server_login_mapped_to_Windows_group  
    | SQL_Server_login_mapped_to_certificate  
    | SQL_Server_login_mapped_to_asymmetric_key  
    | server_role  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

Izin
Menentukan izin yang bisa diberikan pada server. Untuk daftar izin, lihat bagian Keterangan nanti dalam topik ini.

UNTUK <grantee_principal> Menentukan prinsipal yang izinnya diberikan.

AS <grantor_principal> Menentukan prinsipal dari mana prinsipal yang menjalankan kueri ini memperoleh haknya untuk memberikan izin.

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

SQL_Server_login
Menentukan login SQL Server.

SQL_Server_login_mapped_to_Windows_login
Menentukan SQL Server masuk yang dipetakan ke log masuk Windows.

SQL_Server_login_mapped_to_Windows_group
Menentukan SQL Server masuk yang dipetakan ke grup Windows.

SQL_Server_login_mapped_to_certificate
Menentukan SQL Server masuk yang dipetakan ke sertifikat.

SQL_Server_login_mapped_to_asymmetric_key
Menentukan SQL Server login yang dipetakan ke kunci asimetris.

server_role
Menentukan peran server yang ditentukan pengguna.

Keterangan

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

Informasi tentang izin server dapat dilihat dalam tampilan katalog sys.server_permissions , dan informasi tentang prinsipal server dapat dilihat dalam tampilan katalog sys.server_principals . Informasi tentang keanggotaan peran server dapat dilihat dalam tampilan katalog sys.server_role_members .

Server adalah tingkat hierarki izin tertinggi. Izin paling spesifik dan terbatas yang dapat diberikan di server tercantum dalam tabel berikut.

Izin server Tersirat oleh izin server
MENGELOLA OPERASI MASSAL SERVER KONTROL
MENGUBAH GRUP KETERSEDIAAN APA PUN

Berlaku untuk: SQL Server (SQL Server 2012 (11.x) melalui versi saat ini).
SERVER KONTROL
MENGUBAH KONEKSI APA PUN SERVER KONTROL
MENGUBAH KREDENSIAL APA PUN SERVER KONTROL
ALTER ANY DATABASE SERVER KONTROL
MENGUBAH TITIK AKHIR APA PUN SERVER KONTROL
MENGUBAH PEMBERITAHUAN PERISTIWA APA PUN SERVER KONTROL
MENGUBAH SESI PERISTIWA APA PUN SERVER KONTROL
MENGUBAH SERVER YANG DITAUTKAN SERVER KONTROL
ALTER ANY LOGIN SERVER KONTROL
MENGUBAH AUDIT SERVER APA PUN SERVER KONTROL
MENGUBAH PERAN SERVER APA PUN

Berlaku untuk: SQL Server (SQL Server 2012 (11.x) melalui versi saat ini).
SERVER KONTROL
UBAH SUMBER DAYA SERVER KONTROL
UBAH STATUS SERVER SERVER KONTROL
UBAH PENGATURAN SERVER KONTROL
ALTER TRACE SERVER KONTROL
MENGAUTENTIKASI SERVER SERVER KONTROL
CONNECT ANY DATABASE

Berlaku untuk: SQL Server (SQL Server 2014 (12.x) melalui versi saat ini).
SERVER KONTROL
SAMBUNGKAN SQL SERVER KONTROL
SERVER KONTROL SERVER KONTROL
CREATE ANY DATABASE ALTER ANY DATABASE
BUAT GRUP KETERSEDIAAN

Berlaku untuk: SQL Server (SQL Server 2012 (11.x) melalui versi saat ini).
MENGUBAH GRUP KETERSEDIAAN APA PUN
MEMBUAT PEMBERITAHUAN PERISTIWA DDL MENGUBAH PEMBERITAHUAN PERISTIWA APA PUN
BUAT TITIK AKHIR MENGUBAH TITIK AKHIR APA PUN
BUAT PERAN SERVER

Berlaku untuk: SQL Server (SQL Server 2012 (11.x) melalui versi saat ini).
MENGUBAH PERAN SERVER APA PUN
MEMBUAT PEMBERITAHUAN PERISTIWA PELACAKAN MENGUBAH PEMBERITAHUAN PERISTIWA APA PUN
RAKITAN AKSES EKSTERNAL SERVER KONTROL
MENIRU LOGIN APA PUN

Berlaku untuk: SQL Server (SQL Server 2014 (12.x) melalui versi saat ini).
SERVER KONTROL
PILIH SEMUA PENGGUNA YANG DAPAT DIAMANKAN

Berlaku untuk: SQL Server (SQL Server 2014 (12.x) melalui versi saat ini).
SERVER KONTROL
SHUTDOWN SERVER KONTROL
RAKITAN TIDAK AMAN SERVER KONTROL
MENAMPILKAN DATABASE APA PUN LIHAT DEFINISI APA PUN
LIHAT DEFINISI APA PUN SERVER KONTROL
LIHAT STATUS SERVER MENGUBAH STATUS SERVER

Tiga izin server berikut ditambahkan pada SQL Server 2014 (12.x).

MENYAMBUNGKAN DATABASE APA PUN Izin
Berikan CONNECT ANY DATABASE ke login yang harus tersambung ke semua database yang saat ini ada dan ke database baru apa pun yang mungkin dibuat di masa mendatang. Tidak memberikan izin apa pun dalam database apa pun di luar koneksi. Gabungkan dengan SELECT ALL USER SECURABLES atau VIEW SERVER STATE untuk memungkinkan proses audit melihat semua data atau semua status database pada instans SQL Server.

MENIRU LOGIN APA PUN Izin
Ketika diberikan, memungkinkan proses tingkat menengah untuk meniru akun klien yang terhubung ke dalamnya, karena terhubung ke database. Ketika ditolak, login dengan hak istimewa tinggi dapat diblokir agar tidak meniru login lain. Misalnya, login dengan izin CONTROL SERVER dapat diblokir agar tidak meniru login lain.

PILIH SEMUA PENGGUNA YANG DAPAT DIAMANKAN Izin
Ketika diberikan, login dapat melihat data dari semua objek tingkat skema, seperti tabel, tampilan, dan fungsi bernilai tabel yang berada di skema yang dapat ditulis pengguna (skema apa pun kecuali sys dan INFORMATION_SCHEMA) dapat digunakan untuk membuat objek pengguna. Izin ini berlaku di semua database yang dapat disambungkan pengguna. Ketika ditolak, itu mencegah akses ke semua objek kecuali jika mereka berada dalam sys- atau INFORMATION_SCHEMA-skema. Ini juga berpengaruh pada visibilitas metadata objek yang tercakup juga lihat: Konfigurasi Visibilitas Metadata.

Izin

Pemberi izin (atau prinsipal yang ditentukan dengan opsi AS) harus memiliki izin itu sendiri dengan GRANT OPTION atau izin yang lebih tinggi yang menyiratkan izin diberikan. Anggota peran server tetap sysadmin dapat memberikan izin apa pun.

Contoh

A. Memberikan izin untuk masuk

Contoh berikut memberikan CONTROL SERVER izin ke login TerryEminhizerSQL Server .

USE master;  
GRANT CONTROL SERVER TO TerryEminhizer;  
GO  

B. Memberikan izin yang memiliki izin GRANT

Contoh berikut memberikan ALTER ANY EVENT NOTIFICATION SQL Server login JanethEsteves dengan hak untuk memberikan izin tersebut ke login lain.

USE master;  
GRANT ALTER ANY EVENT NOTIFICATION TO JanethEsteves WITH GRANT OPTION;  
GO  

C. Memberikan izin ke peran server

Contoh berikut membuat peran server bernama ITDevelopers. Ini memberikan ALTER ANY DATABASE izin ke ITDevelopers peran server..

USE master;  
CREATE SERVER ROLE ITDevelopers ;  
GRANT ALTER ANY DATABASE TO ITDevelopers ;  
GO  

Lihat juga

GRANT (Transact-SQL)
TOLAK (Transact-SQL)
DENY Server Permissions (Transact-SQL)
MENCABUT Izin Server (Transact-SQL)
Hierarki Izin (Mesin Database)
Prinsipal (Mesin Database)
Izin (Mesin Database)
sys.fn_builtin_permissions (T-SQL)
sys.fn_my_permissions (T-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)