Mulai Cepat: Peristiwa Extended di SQL Server
Berlaku untuk:
SQL Server (semua versi yang didukung)
Extended Events adalah sistem pemantauan performa ringan yang memungkinkan pengguna mengumpulkan data yang diperlukan untuk memantau dan memecahkan masalah dalam SQL Server. Lihat Gambaran umum Extended Events untuk mempelajari selengkapnya tentang arsitektur acara yang diperluas. Artikel ini bertujuan untuk membantu pengembang SQL yang baru menggunakan acara yang diperluas, dan yang ingin membuat sesi acara hanya dalam beberapa menit. Dengan menggunakan Extended Events, Anda dapat melihat detail tentang operasi dalam sistem SQL dan aplikasi Anda. Saat Anda membuat sesi Extended Events, Anda memberi tahu sistem:
- Kejadian mana yang Anda minati.
- Bagaimana Anda ingin sistem melaporkan data kepada Anda.
Artikel ini melakukan hal berikut:
- Menggunakan cuplikan layar untuk mengilustrasikan klik di SSMS.exe yang membuat sesi peristiwa.
- Menghubungkan cuplikan layar dengan pernyataan Transact-SQL yang setara.
- Menjelaskan secara rinci istilah dan konsep di balik klik dan T-SQL untuk sesi peristiwa.
- Menunjukkan cara menguji sesi peristiwa Anda.
- Menjelaskan alternatif sekeliling hasil:
- Storage mengambil hasil.
- Hasil yang diproses versus mentah.
- Alat untuk melihat hasilnya dengan cara yang berbeda dan pada skala waktu yang berbeda.
- Memperlihatkan bagaimana Anda dapat mencari dan menemukan semua peristiwa yang tersedia.
- Menyediakan kunci primer dan hubungan kunci asing yang implisit di antara tampilan manajemen dinamis (DMV) untuk Peristiwa yang Diperluas.
- Menjelaskan apa lagi yang harus dipelajari dalam artikel terkait.
Blog dan percakapan informal lainnya terkadang merujuk ke Extended Events dengan singkatan XEvents.
Catatan
Untuk informasi tentang peristiwa yang diperluas di Azure SQL Database, termasuk sampel kode, lihat Acara yang Diperluas di SQL Database.
Persiapan sebelum demo
Preliminaries berikut akan diperlukan bagi Anda untuk benar-benar melakukan demonstrasi yang akan datang.
Unduh SQL Server Management Studio (SSMS)
Setiap bulan Anda harus menginstal pembaruan bulanan terbaru SSMS.
Masuk ke Microsoft SQL Server 2014 atau yang lebih tinggi.
Pastikan akun Anda memiliki izin serverdari UBAH SESI PERISTIWA APA PUN.
Jika tertarik, detail selengkapnya tentang keamanan dan izin yang terkait dengan peristiwa yang diperluas tersedia di akhir artikel ini di Lampiran.
Demo integrasi SSMS
SSMS.exe menyediakan antarmuka pengguna (UI) yang sangat baik untuk peristiwa yang diperluas. UI sangat bagus sehingga banyak pengguna tidak perlu terlibat dengan Extended Events dengan menggunakan Transact-SQL atau tampilan manajemen dinamis (DMV) yang menargetkan peristiwa yang diperluas.
Di bagian ini Anda dapat melihat langkah-langkah UI untuk membuat sesi Extended Events, dan untuk melihat data yang dilaporkannya. Setelah langkah-langkahnya, Anda dapat membaca tentang konsep yang terlibat dalam langkah-langkah untuk pemahaman yang lebih dalam.
Langkah-langkah demo
Anda dapat memahami langkah-langkahnya bahkan jika Anda memutuskan untuk tidak melakukannya. Demonstrasi memulai dialog Sesi Baru . Kami memproses empat halamannya bernama:
- Umum
- Acara
- Penyimpanan Data
- Lanjutan
Teks dan cuplikan layar pendukung dapat menjadi sedikit tidak tepat ketika UI SQL Server Management Studio di-tweak selama berbulan-bulan atau bertahun-tahun. Namun cuplikan layar tetap efektif untuk penjelasan jika perbedaan hanya di bawah umur.
Koneksi dengan SSMS.
Di Object Explorer, klik Manajemen> Peristiwa >yang DiekspektensiSesi Baru. Dialog Sesi Baru lebih disukai daripada Panduan Sesi Baru, meskipun keduanya mirip satu sama lain.
Di kiri atas, klik halaman Umum . Lalu ketik YourSession, atau nama apa pun yang Anda suka, ke dalam kotak teks Nama sesi . Jangan tekan tombol OK, yang hanya datang di akhir demo.

Di kiri atas, klik halaman Acara , lalu klik tombol Pilih .

Di area Pustaka peristiwa , di daftar drop-down, pilih Nama peristiwa saja.
- Ke dalam kotak teks, ketik sql, yang memfilter dan mengurangi daftar panjang peristiwa yang tersedia dengan menggunakan operator contains .
- Gulir dan klik peristiwa bernama sql_statement_completed.
- Klik tombol > panah kanan untuk memindahkan peristiwa ke kotak Acara yang dipilih .
Tetap berada di halaman Acara , klik tombol Konfigurasikan di ujung kanan.
Dengan sisi kiri dipotong untuk tampilan yang lebih baik, di cuplikan layar berikut Anda dapat melihat area Opsi konfigurasi peristiwa .

Klik tab Filter (Predikat) . Selanjutnya, klik Klik di sini untuk menambahkan klausa, untuk tujuan menangkap semua pernyataan SQL SELECT yang memiliki klausa HAVING.
Di daftar drop-down Bidang , dan pilih sqlserver.sql_text.
- Untuk Operator pilih operator LIKE.
- Untuk Tipe nilai di %SELECT%HAVING%.
Catatan
Dalam nama dua bagian ini, sqlserver adalah nama paket dan sql_text adalah nama bidang. Peristiwa yang kita pilih sebelumnya, sql_statement_completed, harus berada dalam paket yang sama dengan bidang yang kita pilih.
Di kiri atas, klik halaman Storage Data.
Di area Target , klik Klik di sini untuk menambahkan target.
- Di daftar drop-down Jenis , pilih event_file.
- Ini berarti data peristiwa akan disimpan dalam file yang dapat kita lihat.
Catatan
Anda tidak dapat menggunakan Azure Blob Storage sebagai target penyimpanan data dalam instans SQL Server lokal.

Di area Properti , ketikkan jalur lengkap dan nama file ke dalam kotak teks Nama file di server .
- Ekstensi nama file harus .xel.
- Tes kecil kami akan membutuhkan kurang dari 1 MB ukuran file.

Di kiri atas, klik halaman Tingkat Lanjut .
- Kurangi latensi pengiriman maksimum menjadi 3 detik.
- Terakhir, klik tombol OK di bagian bawah.
Kembali ke Object Explorer, perluas ManagementSessions>, dan lihat simpul baru untuk YourSession.

Mengedit sesi acara Anda
Di Object Explorer SQL Server Management Studio, Anda dapat mengedit sesi acara dengan mengklik kanan simpulnya, lalu mengklik Properti. Dialog multi-halaman yang sama ditampilkan.
T-SQL terkait untuk sesi acara Anda
Anda menggunakan UI SQL Server Management Studio untuk menghasilkan skrip T-SQL yang membuat sesi peristiwa Anda. Anda dapat melihat skrip yang dihasilkan sebagai berikut:
- Klik kanan simpul sesi Anda, klik Sesi SkripasCREATE>toClipboard>.
- Tempelkan ke editor teks apa pun.
Selanjutnya adalah pernyataan T-SQL CREATE EVENT SESSION for YourSession, yang dihasilkan oleh klik Anda di UI:
CREATE EVENT SESSION [YourSession]
ON SERVER
ADD EVENT sqlserver.sql_statement_completed
(
ACTION(sqlserver.sql_text)
WHERE
( [sqlserver].[like_i_sql_unicode_string]([sqlserver].[sql_text], N'%SELECT%HAVING%')
)
)
ADD TARGET package0.event_file
(SET
filename = N'C:\Junk\YourSession_Target.xel',
max_file_size = (2),
max_rollover_files = (2)
)
WITH (
MAX_MEMORY = 2048 KB,
EVENT_RETENTION_MODE = ALLOW_MULTIPLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 3 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = OFF
);
GO
Pra-DROP sesi peristiwa
Sebelum pernyataan CREATE EVENT SESSION, Anda mungkin ingin mengeluarkan SESI PERISTIWA DROP secara kondisional jika nama sudah ada.
IF EXISTS (SELECT *
FROM sys.server_event_sessions
WHERE name = 'YourSession')
BEGIN
DROP EVENT SESSION YourSession
ON SERVER;
END
go
UBAH untuk memulai dan menghentikan sesi peristiwa
Saat Anda membuat sesi peristiwa, defaultnya adalah agar tidak mulai berjalan secara otomatis. Anda dapat memulai atau menghentikan sesi acara kapan saja dengan menggunakan pernyataan T-SQL ALTER EVENT SESSION berikut.
ALTER EVENT SESSION [YourSession]
ON SERVER
--ON DATABASE
STATE = START; -- STOP;
Anda memiliki opsi untuk memberi tahu sesi peristiwa untuk memulai secara otomatis saat instans SQL Server dimulai. Lihat kata kunci STARTUP STATE = ON di CREATE EVENT SESSION.
- UI SSMS menawarkan kotak centang terkait di halaman SessionGeneral>Baru.
Menguji sesi acara Anda
Uji sesi acara Anda dengan langkah-langkah sederhana ini:
- Di Object Explorer SSMS, klik kanan simpul sesi peristiwa Anda, lalu klik Mulai Sesi.
- Jalankan pernyataan berikut
SELECT...HAVINGbeberapa kali.- Idealnya Anda dapat mengubah
HAVING Countnilai antara dua eksekusi, beralih antara 2 dan 3. Ini memungkinkan Anda untuk melihat perbedaan dalam hasil.
- Idealnya Anda dapat mengubah
- Klik kanan simpul sesi Anda, lalu klik Hentikan Sesi.
- Baca subbagian berikutnya tentang cara MEMILIH dan melihat hasilnya.
SELECT
c.name,
Count(*) AS [Count-Per-Column-Repeated-Name]
FROM
sys.syscolumns AS c
JOIN sys.sysobjects AS o
ON o.id = c.id
WHERE
o.type = 'V'
AND
c.name like '%event%'
GROUP BY
c.name
HAVING
Count(*) >= 3 --2 -- Try both values during session.
ORDER BY
c.name;
Hanya untuk kelengkapan, berikut adalah perkiraan output dari SELECT sebelumnya... MEMILIKI.
/*** Approximate output, 6 rows, all HAVING Count >= 3:
name Count-Per-Column-Repeated-Name
--------------------- ------------------------------
event_group_type 4
event_group_type_desc 4
event_session_address 5
event_session_id 5
is_trigger_event 4
trace_event_id 3
***/
PILIH hasil lengkap sebagai XML
Di SSMS, jalankan T-SQL SELECT berikut untuk mengembalikan hasil di mana setiap baris menyediakan data tentang satu kejadian. CAST AS XML memudahkan untuk menampilkan hasilnya.
Catatan
Sistem peristiwa selalu menambahkan angka panjang ke nama file .xel event_file yang Anda tentukan. Sebelum Anda dapat menjalankan SELECT berikut dari file, Anda harus menyalin nama lengkap yang diberikan oleh sistem, dan menempelkannya ke SELECT.
SELECT
object_name,
file_name,
file_offset,
event_data,
'CLICK_NEXT_CELL_TO_BROWSE_XML RESULTS!'
AS [CLICK_NEXT_CELL_TO_BROWSE_XML_RESULTS],
CAST(event_data AS XML) AS [event_data_XML]
-- TODO: In ssms.exe results grid, double-click this xml cell!
FROM
sys.fn_xe_file_target_read_file(
'C:\Junk\YourSession_Target_0_131085363367310000.xel',
null, null, null
);
SELECT sebelumnya memberi Anda dua cara untuk melihat hasil lengkap dari baris peristiwa tertentu:
- Jalankan SELECT di SSMS, lalu klik sel di kolom event_data_XML . Ini sangat berguna.
- Salin string XML panjang dari sel di kolom event_data . Tempelkan ke editor teks sederhana seperti Notepad.exe, dan simpan string dalam file dengan ekstensi .XML. Kemudian buka file .XML dengan browser.
Tampilan hasil untuk satu peristiwa
Selanjutnya kita melihat bagian dari hasil, yang dalam format XML. XML di sini diedit di sini untuk membuatnya lebih pendek untuk ditampilkan. Perhatikan bahwa <data name="row_count"> menampilkan nilai 6, yang cocok dengan 6 baris hasil kami yang ditampilkan sebelumnya. Dan kita dapat melihat seluruh pernyataan SELECT.
<event name="sql_statement_completed" package="sqlserver" timestamp="2016-05-24T04:06:08.997Z">
<data name="duration">
<value>111021</value>
</data>
<data name="cpu_time">
<value>109000</value>
</data>
<data name="physical_reads">
<value>0</value>
</data>
<data name="last_row_count">
<value>6</value>
</data>
<data name="offset">
<value>0</value>
</data>
<data name="offset_end">
<value>584</value>
</data>
<data name="statement">
<value>SELECT
c.name,
Count(*) AS [Count-Per-Column-Repeated-Name]
FROM
sys.syscolumns AS c
JOIN sys.sysobjects AS o
ON o.id = c.id
WHERE
o.type = 'V'
AND
c.name like '%event%'
GROUP BY
c.name
HAVING
Count(*) >= 3 --2 -- Try both values during session.
ORDER BY
c.name</value>
</data>
</event>
SSMS untuk menampilkan hasil
Ada beberapa fitur canggih di UI SSMS yang dapat Anda gunakan untuk melihat data yang diambil dari peristiwa yang diperluas. Detailnya ada di:
Dasar-dasar dimulai dengan opsi menu konteks berlabel Lihat Data Target dan Tonton Data Langsung.
Lihat Data Target
Di Object Explorer SSMS, Anda dapat mengklik kanan simpul target yang ada di bawah simpul sesi peristiwa Anda. Di menu konteks, Anda mengklik Tampilkan Data Target. SSMS menampilkan data.
Tampilan tidak diperbarui karena data baru dilaporkan oleh peristiwa. Tetapi Anda dapat mengklik Tampilkan Data Target lagi.

Tonton Data Langsung
Di Object Explorer SSMS, Anda dapat mengklik kanan simpul sesi peristiwa Anda. Di menu konteks, Klik Tonton Data Langsung. SSMS menampilkan data masuk karena terus tiba secara real time.

Skenario
Ada skenario yang tak terhitung jumlahnya untuk penggunaan Extended Events yang efektif. Artikel berikut ini menyediakan contoh skenario yang melibatkan kunci yang diambil selama kueri.
Skenario khusus untuk sesi peristiwa yang ditujukan untuk menilai kunci dijelaskan dalam artikel berikut. Artikel ini juga menunjukkan beberapa teknik canggih, seperti menggunakan @dbid, dan menggunakan dinamis EXECUTE (@YourSqlString):
- Temukan Objek yang Memiliki Kunci Terbanyak Yang Diambil pada Mereka
- Skenario ini menggunakan package0.histogram target, yang memproses data peristiwa mentah sebelum menampilkannya kepada Anda.
- Menentukan Kueri Mana yang Menahan Kunci
- Skenario ini menggunakan package0.pair_matching target, di mana pasangan peristiwa sqlserver.lock_acquire dan lock_release.
Istilah dan konsep dalam Acara yang Diperluas
Tabel berikut ini mencantumkan istilah yang digunakan untuk Acara yang Diperluas, dan menjelaskan maknanya.
| Persyaratan | Deskripsi |
|---|---|
| sesi acara | Konstruksi yang berpusat di sekitar satu atau beberapa peristiwa, ditambah item pendukung seperti tindakan adalah target. Pernyataan CREATE EVENT SESSION membuat setiap sesi peristiwa. Anda dapat MENGUBAH sesi acara untuk memulai dan menghentikannya sesering mungkin. Sesi peristiwa terkadang disebut hanya sebagai sesi, ketika konteks mengklarifikasinya berarti sesi peristiwa. Detail lebih lanjut tentang sesi peristiwa dijelaskan dalam: SQL Server Sesi Acara yang Diperluas. |
| peristiwa | Kejadian tertentu dalam sistem yang diawasi oleh sesi peristiwa aktif. Misalnya, peristiwa sql_statement_completed mewakili saat pernyataan T-SQL tertentu selesai. Kejadian ini dapat melaporkan durasinya dan data lainnya. |
| target | Item yang menerima data output dari peristiwa yang diambil. Target menampilkan data kepada Anda. Contohnya termasuk event_file, dan sepupu ringan yang berguna di ring_buffer memori. Target histogram fancier melakukan beberapa pemrosesan data Anda sebelum menampilkannya. Target apa pun dapat digunakan untuk sesi peristiwa apa pun. Untuk detailnya, lihat Target untuk Peristiwa yang Diperluas di SQL Server. |
| tindakan | Bidang yang diketahui oleh peristiwa. Data dari bidang dikirim ke target. Bidang tindakan terkait erat dengan filter predikat. |
| filter predikat | Pengujian data di bidang peristiwa, digunakan sehingga hanya subset kejadian menarik yang dikirim ke target. Misalnya, filter hanya dapat menyertakan kejadian peristiwa sql_statement_completed di mana pernyataan T-SQL berisi string HAVING. |
| paket | Kualifikasi nama yang dilampirkan ke setiap item dalam sekumpulan item yang berpusat di sekitar inti peristiwa. Misalnya, paket mungkin memiliki peristiwa tentang teks T-SQL. Satu peristiwa bisa tentang semua T-SQL dalam batch yang dibatasi GO. Sementara itu peristiwa lain yang lebih sempit adalah tentang pernyataan T-SQL individu. Selanjutnya, untuk satu pernyataan T-SQL, ada peristiwa mulai dan selesai. Bidang yang sesuai untuk peristiwa juga ada dalam paket dengan peristiwa. Sebagian besar target berada dalam paket0 dan digunakan dengan peristiwa dari banyak paket lain. |
Cara menemukan peristiwa yang tersedia dalam paket
T-SQL SELECT berikut mengembalikan baris untuk setiap peristiwa yang tersedia yang namanya berisi tiga string karakter 'sql'. Tentu saja, Anda dapat mengedit nilai LIKE untuk mencari nama peristiwa yang berbeda. Baris juga memberi nama paket yang berisi peristiwa.
SELECT -- Find an event you want.
p.name AS [Package-Name],
o.object_type,
o.name AS [Object-Name],
o.description AS [Object-Descr],
p.guid AS [Package-Guid]
FROM
sys.dm_xe_packages AS p
JOIN sys.dm_xe_objects AS o
ON p.guid = o.package_guid
WHERE
o.object_type = 'event' --'action' --'target'
AND
p.name LIKE '%'
AND
o.name LIKE '%sql%'
ORDER BY
p.name, o.object_type, o.name;
Tampilan berikut menunjukkan baris yang dikembalikan, diedit di sini ke dalam format nama kolom = nilai. Data berasal dari peristiwa sql-statement_completed yang digunakan dalam langkah-langkah contoh sebelumnya. Kalimat untuk kolom Object-Descr sangat membantu.
Package-Name = sqlserver
object_type = event
Object-Name = sql_statement_completed
Object-Descr = Occurs when a Transact-SQL statement has completed.
Package-Guid = 655FD93F-3364-40D5-B2BA-330F7FFB6491
UI SSMS untuk pencarian
Opsi pencarian lain adalah menggunakan UI SSMS untuk dialog pustaka SessionEventsEvent>>Baru yang ditampilkan dalam cuplikan layar sebelumnya.
SQL Lacak kelas peristiwa, dengan acara yang diperluas
Deskripsi penggunaan acara yang diperluas dengan SQL Lacak kelas peristiwa dan kolom tersedia di: Lihat Acara yang Diperluas Setara dengan SQL Lacak Kelas Peristiwa
Pelacakan Peristiwa untuk Windows (ETW), dengan peristiwa yang diperluas
Deskripsi penggunaan peristiwa yang diperluas dengan Pelacakan Peristiwa untuk Windows (ETW) tersedia di:
Item tambahan
Bagian ini secara singkat menyebutkan beberapa item lain-lain.
Sesi peristiwa yang diinstal dengan SQL Server
SQL Server dilengkapi dengan beberapa sesi Extended Events yang sudah dibuat. Semua dikonfigurasi untuk memulai setiap kali sistem SQL dimulai. Sesi peristiwa ini mengumpulkan data yang mungkin berguna jika terjadi kesalahan sistem. Seperti banyak sesi peristiwa, mereka hanya mengonsumsi sedikit sumber daya, dan Microsoft merekomendasikan agar mereka dibiarkan saja untuk dijalankan.
Anda dapat melihat sesi peristiwa ini di Object Explorer SSMS di bawah ManagementExtended>EventsSessions>. Pada Juni 2016, daftar sesi peristiwa yang diinstal ini adalah:
- AlwaysOn_health
- System_health
- telemetry_events
Penyedia PowerShell untuk Acara yang Diperluas
Anda dapat mengelola SQL Server Extended Events dengan menggunakan penyedia SQL Server PowerShell. Detailnya ada di: Gunakan Penyedia PowerShell untuk Acara yang Diperluas
Tampilan sistem untuk Kejadian yang Diperluas
Tampilan sistem untuk Acara yang Diperluas meliputi:
Tampilan katalog: untuk informasi tentang sesi peristiwa yang telah ditentukan oleh CREATE EVENT SESSION.
Tampilan manajemen dinamis (DMV): untuk informasi tentang sesi peristiwa secara aktif berjalan saat ini.
SELECT dan JOIN Dari Tampilan Sistem untuk Peristiwa yang Diperluas di SQL Server - menyediakan informasi tentang:
- Cara menggabungkan tampilan satu sama lain.
- Beberapa SELECT yang berguna dari tampilan.
- Korelasi antara:
- Kolom tampilan.
- BUAT klausa SESI PERISTIWA.
- Kontrol UI SSMS.
Lampiran: SELECT untuk memastikan pemilik izin terlebih dahulu
Izin yang disebutkan dalam artikel ini adalah:
- MENGUBAH SESI PERISTIWA APA PUN
- LIHAT STATUS SERVER
- SERVER KONTROL
Pernyataan T-SQL SELECT berikut dapat melaporkan siapa yang memiliki izin ini.
Izin langsung UNION ditambah izin turunan peran
SELECT berikut ini... Pernyataan UNION ALL mengembalikan baris yang menunjukkan siapa yang memiliki izin yang diperlukan untuk membuat sesi peristiwa dan mengkueri tampilan katalog sistem untuk Peristiwa yang Diperluas.
-- Ascertain who has the permissions listed in the ON clause.
-- 'CONTROL SERVER' permission includes the permissions
-- 'ALTER ANY EVENT SESSION' and 'VIEW SERVER STATE'.
SELECT
'Owner-is-Principal' AS [Type-That-Owns-Permission],
NULL AS [Role-Name],
prin.name AS [Owner-Name],
perm.permission_name
COLLATE Latin1_General_CI_AS_KS_WS
AS [Permission-Name]
FROM
sys.server_permissions AS perm
JOIN sys.server_principals AS prin
ON prin.principal_id = perm.grantee_principal_id
WHERE
perm.permission_name IN
('ALTER ANY EVENT SESSION',
'VIEW SERVER STATE',
'CONTROL SERVER')
UNION ALL
-- Plus check for members of the 'sysadmin' fixed server role,
-- because 'sysadmin' includes the 'CONTROL SERVER' permission.
SELECT
'Owner-is-Role'
, prin.name -- [Role-Name]
, CAST( (IsNull(pri2.name, N'No members'))
AS nvarchar(128))
, NULL
FROM
sys.server_role_members AS rolm
RIGHT OUTER JOIN sys.server_principals AS prin
ON prin.principal_id = rolm.role_principal_id
LEFT OUTER JOIN sys.server_principals AS pri2
ON rolm.member_principal_id = pri2.principal_id
WHERE
prin.name = 'sysadmin'
ORDER BY
1,2,3,4;
HAS_PERMS_BY_NAME (Fungsi HAS_PERMS_BY_NAME)
Berikut ini SELECT melaporkan izin Anda. Ini bergantung pada fungsi bawaan HAS_PERMS_BY_NAME.
Selanjutnya, jika Anda memiliki wewenang untuk sementara meniru akun lain, Anda dapat membatalkan komentar pernyataan EXECUTE AS LOGIN dan REVERT, untuk menanyakan akun lain.
--EXECUTE AS LOGIN = 'AccountNameHere';
SELECT HAS_PERMS_BY_NAME
(
null
, null
, 'ALTER ANY EVENT SESSION'
);
--REVERT;
Tautan keamanan
Berikut adalah tautan ke dokumentasi yang terkait dengan SELECT ini, dan izin:
- Detail HAS_PERMS_BY_NAME fungsi bawaan (SQL Transact)
- sys.fn_my_permissions (SQL bertransaksi)
- IZIN SERVER GRANT (SQL Transact)
- sys.server_principals (SQL Bertransaksi)
- Blog: Izin Mesin Database yang Efektif
- Poster yang dapat diperbesar, sebagai PDF, yang menampilkan hierarki semua izin SQL Server.