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 di Windows
Azure SQL Managed Instance
Pendahuluan
Microsoft SQL Server berisi fitur yang mendukung Internet yang dapat mengumpulkan dan mengirim informasi tentang komputer atau perangkat Anda. Ini disebut informasi komputer standar. Komponen audit lokal dari pengumpulan Data Penggunaan dan Diagnostik SQL Server menulis data yang dikumpulkan oleh layanan ke folder yang ditetapkan, berupa data (log) yang akan dikirim ke Microsoft. Tujuan audit lokal adalah untuk memungkinkan pelanggan melihat semua data yang dikumpulkan Microsoft dengan fitur ini, untuk alasan kepatuhan, peraturan, atau validasi privasi.
Untuk SQL Server 2016 CU2 dan CU3, audit lokal dapat dikonfigurasi pada tingkat instans untuk Mesin Database SQL Server and Analysis Services (SSAS). Untuk rilis SQL Server 2016 CU4, 2016 SP1, dan yang lebih baru, audit lokal juga diaktifkan untuk Layanan Integrasi SQL Server (SSIS). Komponen SQL Server lain yang diinstal selama Penyiapan dan Alat SQL Server yang diunduh atau diinstal setelah Penyiapan tidak memiliki kemampuan audit lokal untuk penggunaan dan pengumpulan data diagnostik.
Keterangan
- Menghapus atau menonaktifkan layanan SQL CEIP tidak didukung.
- Menghapus sumber daya SQL CEIP dari Grup Kluster tidak didukung.
Menolak penggunaan SQL Server dan pengumpulan data diagnostik didukung, tetapi layanan tidak dapat dihapus atau dinonaktifkan. Untuk menolak pengumpulan data, lihat Mengaktifkan atau menonaktifkan audit lokal
Prasyarat
Berikut ini adalah prasyarat untuk mengaktifkan audit lokal pada setiap instans SQL Server:
Instans di-patch ke SQL Server 2016 RTM CU2 atau yang lebih baru. Untuk Integration Services, instans diperbarui dengan patch ke SQL Server 2016 RTM CU4, SQL Server 2016 SP1, atau versi yang lebih baru.
Pengguna harus menjadi Administrator Sistem atau peran dengan akses untuk menambahkan dan memodifikasi Kunci Registri, membuat folder, mengelola keamanan folder, dan menghentikan/memulai Layanan Windows.
Langkah-langkah pra-konfigurasi sebelum mengaktifkan audit lokal
Sebelum mengaktifkan audit lokal, administrator sistem perlu:
Ketahui nama instans SQL Server dan akun masuk layanan CEIP SQL Server.
Konfigurasikan folder baru untuk file audit lokal.
Berikan izin ke akun masuk layanan CEIP SQL Server.
Buat pengaturan kunci registri untuk mengonfigurasi direktori target audit lokal.
Mendapatkan akun masuk layanan CEIP SQL Server
Lakukan langkah-langkah berikut untuk mendapatkan akun masuk layanan CEIP SQL Server
Luncurkan konsol Layanan . Untuk melakukan ini, pilih Tombol Windows + R di keyboard Anda untuk membuka kotak dialog Jalankan . Selanjutnya, ketik services.msc di bidang teks dan pilih OK untuk meluncurkan konsol Layanan.
Navigasikan ke layanan yang sesuai. Misalnya, untuk mesin database, temukan layananCEIP SQL Server (Your-Instance-Name). Untuk Analysis Services, temukan CEIPSQL Server Analysis Services (Your-Instance-Name). Untuk Layanan Integrasi, temukan layanan CEIP Layanan Integrasi SQL Server.
Klik kanan pada layanan dan pilih Properti.
Pilih tab Masuk . Akun Masuk tercantum di Akun Ini.
Konfigurasikan folder baru untuk file audit lokal.
Buat folder baru (direktori audit lokal) tempat audit lokal akan menulis log. Misalnya, jalur lengkap ke Direktori audit lokal untuk instans default mesin database adalah: C:\SQLCEIPAudit\MSSQLSERVER\DB\.
Catatan
Konfigurasikan jalur direktori untuk audit lokal di luar jalur penginstalan SQL Server untuk menghindari memungkinkan fungsionalitas audit dan patching menyebabkan potensi masalah dengan SQL Server.
| Keputusan Desain | Rekomendasi |
|---|---|
| Ketersediaan ruang | Pada beban kerja sedang dengan sekitar 10 database, rencanakan sekitar 2 MB ruang disk per database per instans. |
| Pisahkan direktori | Buat direktori untuk setiap instans. Misalnya, gunakan C:\SQLCEIPAudit\MSSQLSERVER\DB\ untuk instans SQL Server bernama MSSQLSERVER. Ini menyederhanakan manajemen file. |
| Folder terpisah | Gunakan folder tertentu untuk setiap layanan. Misalnya untuk nama instans tertentu, memiliki satu folder untuk mesin database. Jika instans Analysis Services menggunakan nama instans yang sama, buat folder terpisah untuk Analysis Services. Jika instans Database Engine dan Analysis Services sama-sama dikonfigurasi ke folder yang sama, semua audit lokal akan ditulis ke dalam file log yang sama oleh kedua instans. |
| Memberikan izin ke akun masuk layanan CEIP SQL Server | Aktifkan akses Daftar isi folder, Baca, dan Tulis untuk akun log masuk layanan SQL Server CEIP |
Memberikan izin ke akun masuk layanan CEIP SQL Server
Di File Explorer, navigasikan ke lokasi tempat folder baru berada.
Klik kanan folder baru dan pilih Properti.
Pada tab Keamanan, pilih Edit kelola Izin.
Pilih Tambahkan dan ketik kredensial Layanan CEIP SQL Server. Contoh:
NT Service\SQLTELEMETRY.Pilih Periksa Nama untuk memvalidasi nama yang Anda berikan, lalu pilih OK.
Pada kotak dialog Izin , pilih akun Masuk ke layanan CEIP SQL Server dan pilih Daftar konten folder, Baca dan Tulis.
Pilih OK untuk segera menerapkan perubahan izin.
Buat pengaturan kunci registri untuk mengonfigurasi direktori target audit lokal
Luncurkan regedit.
Navigasikan ke jalur CPE yang sesuai:
Versi Mesin basis data - Kunci registri 2016 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13. Your-Instance-Name\CPE 2017 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14. Your-Instance-Name\CPE 2019 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15. Your-Instance-Name\CPE Versi Analysis Services - Kunci registri 2016 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSAS13. Your-Instance-Name\CPE 2017 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSAS14. Your-Instance-Name\CPE 2019 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSAS15. Your-Instance-Name\CPE Versi Layanan Integrasi - Kunci registri 2016 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\130 2017 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\140 2019 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\150 Klik kanan jalur CPE dan pilih Baru. Pilih Nilai String.
Beri nama kunci
UserRequestedLocalAuditDirectoryregistri baru .
Mengaktifkan atau menonaktifkan audit lokal
Setelah menyelesaikan langkah-langkah prakonfigurasi, Anda dapat mengaktifkan audit lokal. Untuk melakukan ini, gunakan akun Administrator Sistem atau peran serupa dengan akses untuk memodifikasi Kunci Registri untuk mengaktifkan atau menonaktifkan audit lokal dengan mengikuti langkah-langkah di bawah ini.
Luncurkan regedit.
Navigasikan ke jalur CPE yang sesuai.
Klik kanan UserRequestedLocalAuditDirectory dan pilih Ubah.
Untuk mengaktifkan audit lokal, ketik jalur audit lokal, misalnya C:\SQLCEIPAudit\MSSQLSERVER\DB\.
Untuk menonaktifkan audit lokal, kosongkan nilai di UserRequestedLocalAuditDirectory.
Tutup regedit.
CEIP SQL Server harus segera mengenali pengaturan audit lokal jika layanan sudah berjalan. Untuk memulai Layanan CEIP SQL Server, Administrator Sistem atau seseorang yang memiliki akses untuk memulai atau menghentikan Layanan Windows dapat mengikuti langkah-langkah di bawah ini:
Luncurkan konsol Layanan . Untuk melakukan ini, pilih Tombol Windows + R di keyboard Anda untuk membuka kotak dialog Jalankan . Selanjutnya, ketik services.msc di bidang teks dan pilih OK untuk meluncurkan konsol Layanan.
Navigasikan ke layanan yang sesuai.
- Untuk Mesin Database, gunakan layanan CEIP SQL Server (Your-Instance-Name).
- Untuk Analysis Services, gunakan SQL Server Analysis Services CEIP (Your-Instance-Name).
- Untuk Layanan Integrasi,
- Untuk SQL Server 2016, gunakan Layanan Integrasi SQL Server CEIP service 13.0.
- Untuk SQL Server 2017, gunakan Layanan Integrasi SQL Server CEIP service 14.0.
- Untuk SQL Server 2019, gunakan Layanan Integrasi SQL Server CEIP service 15.0.
Klik kanan pada layanan dan pilih Mulai Ulang.
Verifikasi bahwa status layanan Berjalan.
Audit lokal akan menghasilkan satu file log per hari. File log akan dalam bentuk <YYYY-MM-DD>.json. Misalnya, 2016-07-12.json. Jika ada file yang ada untuk hari itu di direktori yang ditunjuk, audit lokal akan menambahkannya. Jika tidak, itu akan membuat file baru untuk hari itu.
Catatan
Setelah mengaktifkan audit lokal, mungkin perlu waktu hingga 5 menit agar file log ditulis untuk pertama kalinya.
Pemeliharaan
Untuk membatasi penggunaan ruang disk oleh file yang ditulis oleh audit lokal, siapkan kebijakan atau pekerjaan reguler untuk membersihkan Direktori audit lokal untuk menghapus file yang lebih lama dan tidak diperlukan.
Amankan jalur Direktori audit lokal sehingga hanya dapat diakses oleh orang yang sesuai. Perhatikan bahwa file log berisi informasi seperti yang diuraikan dalam Cara mengonfigurasi SQL Server 2016 untuk mengirim umpan balik ke Microsoft. Akses ke file ini harus mencegah sebagian besar anggota organisasi Anda membacanya.
Kamus data untuk struktur data keluaran audit lokal
- File log audit lokal berada di JSON, berisi sekumpulan objek (baris) yang mewakili titik data yang dikirim kembali ke Microsoft pada emitTime.
- Setiap baris mengikuti skema tertentu yang diidentifikasi oleh skemaVersion.
- Setiap baris adalah output dari sesi layanan SQLCEIP yang diidentifikasi sebagai sessionID.
- Baris dikeluarkan secara berurutan, diidentifikasi dengan sequence.
- Setiap baris titik data berisi output queryIdentifier, yang bisa menjadi kueri T-SQL, sesi XE, atau pesan yang terkait dengan jenis jejak, yang diidentifikasi sebagai traceName.
- queryIdentifiers dikelompokkan dan di-versi bersama dengan querySetVersion.
- data berisi hasil dari eksekusi kueri terkait, yang memerlukan queryTimeInTicks.
- queryIdentifiers untuk kueri T-SQL memiliki definisi kueri T-SQL yang disimpan dalam kueri.
| Hierarki logis informasi audit lokal | Kolom terkait |
|---|---|
| Header | emitTime, schemaVersion |
| Mesin | sistem operasi |
| Instans | instanceUniqueID, correlationID, clientVersion |
| Sesi | sessionID, traceName |
| Kueri | urutan, querySetVersion, queryIdentifier, query, queryTimeInTicks |
| Data | data |
Definisi dan contoh pasangan nama/nilai
Kolom yang tercantum di bawah ini mewakili urutan output file audit lokal. Hash satu arah dengan SHA 256 digunakan untuk menganonimkan nilai untuk sejumlah kolom di bawah ini.
| Nama | Deskripsi | Contoh nilai |
|---|---|---|
| instanceUniqueID | Pengidentifikasi instans anonim | 888770C4D5A8C6729F76F33D472B28883AE518C92E1999888B171A085059FD |
| schemaVersion | Versi skema SQLCEIP | 3 |
| emitTime | Waktu pengiriman titik data dalam UTC | 2016-09-08T17:20:22.1124269Z |
| sessionId | Pengidentifikasi sesi untuk layanan SQLCEIP | 89decf9a-ad11-485c-94a7-fefb3a02ed86 |
| correlationId | Tempat penampung untuk pengidentifikasi tambahan | 0 |
| urutan | Jumlah urutan titik data yang dikirim dalam sesi | 15 |
| clientVersion | Versi instans SQL Server | 13.0.2161.3 ((SQL16_RTM_QFE-CU).160907-1223) |
| sistem operasi | Versi OS tempat instans SQL Server diinstal | Pusat Data Microsoft Windows Server 2012 R2 |
| querySetVersion | Versi dari sekelompok definisi kueri | 1.0.0.0 |
| traceName | Kategori penelusuran: (SQLServerXeQueries, SQLServerPeriodicQueries, SQLServerOneSettingsException) | Kueri Berkala SQL Server |
| queryIdentifier | Sebuah pengidentifikasi kueri | SQLServerProperties.002 |
| data | Keluaran informasi yang dikumpulkan tentang queryIdentifier sebagai keluaran dari kueri T-SQL, sesi XE, atau aplikasi | [{"Collation": "SQL_Latin1_General_CP1_CI_AS","SqlFTinstalled": "0","SqlIntSec": "1","IsSingleUser": "0","SqlFilestreamMode": "0","SqlPbInstalled": "0","SqlPbNodeRole": "","SqlVersionMajor": "13","SqlVersionMinor": "0","SqlVersionBuild": "2161","ProductBuildType": "","ProductLevel": "RTM","ProductUpdateLevel": "CU2","ProductUpdateReference": "KB3182270","ProductRevision": "3","SQLEditionId": "-1534726760","IsClustered": "0","IsHadrEnabled": "0","SqlAdvAInstalled": "0","PacketReceived": "1210","Version": "Microsoft SQL Server 2016 (RTM-CU2) (KB3182270) - 13.0.2161.3 (X64) \n\tSep 7 2016 14:24:16 \n\tCopyright (c) Microsoft Corporation\n\tStandard Edition (64-bit) on Windows Server 2012 R2 Datacenter 6.3 \u003cX64\u003e (Build 9600: ) (Hypervisor)\n"}] |
| kueri | Jika berlaku, definisi kueri T-SQL terkait dengan queryIdentifier yang menghasilkan data. Komponen ini tidak diunggah oleh layanan CEIP SQL Server. Ini termasuk dalam audit lokal sebagai referensi kepada pelanggan saja. | SELECT\n SERVERPROPERTY(\u0027Collation\u0027) AS [Collation],\n SERVERPROPERTY(\u0027IsFullTextInstalled\u0027) AS [SqlFTinstalled],\n SERVERPROPERTY(\u0027IsIntegratedSecurityOnly\u0027) AS [SqlIntSec],\n SERVERPROPERTY(\u0027IsSingleUser\u0027) AS [IsSingleUser],\n SERVERPROPERTY (\u0027FileStreamEffectiveLevel\u0027) AS [SqlFilestreamMode],\n SERVERPROPERTY(\u0027IsPolyBaseInstalled\u0027) AS [SqlPbInstalled],\n SERVERPROPERTY(\u0027PolyBaseRole\u0027) AS [SqlPbNodeRole],\n SERVERPROPERTY(\u0027ProductMajorVersion\u0027) AS [SqlVersionMajor],\n SERVERPROPERTY(\u0027ProductMinorVersion\u0027) AS [SqlVersionMinor],\n SERVERPROPERTY(\u0027ProductBuild\u0027) AS [SqlVersionBuild],\n SERVERPROPERTY(\u0027ProductBuildType\u0027) AS ProductBuildType,\n SERVERPROPERTY(\u0027ProductLevel\u0027) AS ProductLevel,\n SERVERPROPERTY(\u0027ProductUpdateLevel\u0027) AS ProductUpdateLevel,\n SERVERPROPERTY(\u0027ProductUpdateReference\u0027) AS ProductUpdateReference,\n RIGHT(CAST(SERVERPROPERTY(\u0027ProductVersion\u0027) AS NVARCHAR(30)),CHARINDEX(\u0027.\u0027, REVERSE(CAST(SERVERPROPERTY(\u0027ProductVersion\u0027) AS NVARCHAR(30)))) - 1) AS ProductRevision,\n SERVERPROPERTY(\u0027EditionID\u0027) AS SQLEditionId,\n SERVERPROPERTY(\u0027IsClustered\u0027) AS IsClustered,\n SERVERPROPERTY(\u0027IsHadrEnabled\u0027) AS IsHadrEnabled,\n SERVERPROPERTY(\u0027IsAdvancedAnalyticsInstalled\u0027) AS [SqlAdvAInstalled],\n @@PACK_RECEIVED AS PacketReceived,\n @@VERSION AS Version |
| queryTimeInTicks | Durasi yang diperlukan untuk kueri dengan kategori pelacakan berikut untuk dijalankan: (SQLServerXeQueries, SQLServerPeriodicQueries) | 0 |
Kategori penelusuran
Saat ini kami mengumpulkan kategori jejak berikut:
- SQLServerXeQueries: berisi poin data yang dikumpulkan melalui sesi Extended Event.
- SQLServerPeriodicQueries: berisi titik data yang dikumpulkan melalui kueri berkala yang dijalankan dalam instans SQL Server.
- SQLServerPerDBPeriodicQueries: berisi titik data yang dikumpulkan melalui kueri berkala yang dijalankan hingga 30 database dalam instans SQL Server.
- SQLServerOneSettingsException: berisi pesan pengecualian yang terkait dengan memperbarui skema dan/atau kumpulan kueri.
- DigitalProductID: berisi data untuk mengagregasikan ID produk digital milik instans SQL Server yang di-hash (SHA-256) dan dianonimkan.
Contoh file audit lokal
Di bawah ini adalah kutipan output file JSON dari audit lokal.
[
{
"instanceUniqueId": "888770C4D5A8C6729F76F33D472B28883AE518C92E1999888B171A085059FD",
"isSSEIInstance": "0",
"schemaVersion": "5",
"emitTime": "2018-05-04T15:27:59.7031518Z",
"sessionId": "c3cd1b56-ab61-462f-8363-8881779aa223",
"correlationId": 0,
"sequence": 18,
"clientVersion": "14.0.3025.34 ((SQLServer2017-CU6).180410-0033)",
"isInternalMachine": "1",
"operatingSystem": "Microsoft Windows 10 Enterprise",
"querySetVersion": "14.0.3025.34",
"traceName": "SQLServerPeriodicQueries",
"queryIdentifier": "SQLServerProperties.002",
"data": [
{
"Collation": "SQL_Latin1_General_CP1_CI_AS",
"SqlFTinstalled": "0",
"SqlIntSec": "1",
"IsSingleUser": "0",
"SqlFilestreamMode": "2",
"SqlPbInstalled": "1",
"SqlPbNodeRole": "Head",
"SqlVersionMajor": "14",
"SqlVersionMinor": "0",
"SqlVersionBuild": "3025",
"ProductBuildType": "",
"ProductLevel": "RTM",
"ProductUpdateLevel": "CU6",
"ProductUpdateReference": "KB4101464",
"ProductRevision": "34",
"SQLEditionId": "1872460670",
"IsClustered": "0",
"IsHadrEnabled": "0",
"SqlAdvAInstalled": "1",
"PacketReceived": "422",
"Version": "Microsoft SQL Server 2017 (RTM-CU6) (KB4101464) - 14.0.3025.34 (X64) \n\tApr 9 2018 18:00:41 \n\tCopyright (C) 2017 Microsoft Corporation\n\tEnterprise Edition: Core-based Licensing (64-bit) on Windows 10 Enterprise 10.0 <X64> (Build 16299: )\n"
}
],
"query": "SELECT\n SERVERPROPERTY('Collation') AS [Collation],\n SERVERPROPERTY('IsFullTextInstalled') AS [SqlFTinstalled],\n SERVERPROPERTY('IsIntegratedSecurityOnly') AS [SqlIntSec],\n SERVERPROPERTY('IsSingleUser') AS [IsSingleUser],\n SERVERPROPERTY ('FileStreamEffectiveLevel') AS [SqlFilestreamMode],\n SERVERPROPERTY('IsPolyBaseInstalled') AS [SqlPbInstalled],\n SERVERPROPERTY('PolyBaseRole') AS [SqlPbNodeRole],\n SERVERPROPERTY('ProductMajorVersion') AS [SqlVersionMajor],\n SERVERPROPERTY('ProductMinorVersion') AS [SqlVersionMinor],\n SERVERPROPERTY('ProductBuild') AS [SqlVersionBuild],\n SERVERPROPERTY('ProductBuildType') AS ProductBuildType,\n SERVERPROPERTY('ProductLevel') AS ProductLevel,\n SERVERPROPERTY('ProductUpdateLevel') AS ProductUpdateLevel,\n SERVERPROPERTY('ProductUpdateReference') AS ProductUpdateReference,\n RIGHT(CAST(SERVERPROPERTY('ProductVersion') AS NVARCHAR(30)),CHARINDEX('.', REVERSE(CAST(SERVERPROPERTY('ProductVersion') AS NVARCHAR(30)))) - 1) AS ProductRevision,\n SERVERPROPERTY('EditionID') AS SQLEditionId,\n SERVERPROPERTY('IsClustered') AS IsClustered,\n SERVERPROPERTY('IsHadrEnabled') AS IsHadrEnabled,\n SERVERPROPERTY('IsAdvancedAnalyticsInstalled') AS [SqlAdvAInstalled],\n @@PACK_RECEIVED AS PacketReceived,\n @@VERSION AS Version",
"queryTimeInTicks": 0
},
{
"instanceUniqueId": "8884F770C4D5A8C6729F76F33D472B28883AE518C92E1999888B171A085059FD",
"isSSEIInstance": "0",
"schemaVersion": "5",
"emitTime": "2018-05-04T15:28:00.9025999Z",
"sessionId": "c3cd1b56-ab61-462f-8363-8881779aa223",
"correlationId": 0,
"sequence": 23,
"clientVersion": "14.0.3025.34 ((SQLServer2017-CU6).180410-0033)",
"isInternalMachine": "1",
"operatingSystem": "Microsoft Windows 10 Enterprise",
"querySetVersion": "14.0.3025.34",
"traceName": "SQLServerPeriodicQueries",
"queryIdentifier": "OsSysInfo.003",
"data": [
{
"LogicalCPUCount": "8",
"HyperthreadRatio": "8",
"PhysicalMemoryMB": "32710.902343",
"SQLServerStartTime": "05/04/2018 08:22:30",
"AffinityTypeDesc": "AUTO",
"VirtualMachineType": "0",
"SocketCount": "1",
"CoresPerSocket": "4",
"NumaNodeCount": "1",
"ContainerType": "0",
"ContainerDescription": "NONE"
}
],
"query": "SELECT\n cpu_count AS LogicalCPUCount,\n hyperthread_ratio AS HyperthreadRatio,\n physical_memory_kb/1024.0 AS PhysicalMemoryMB,\n sqlserver_start_time AS SQLServerStartTime,\n affinity_type_desc AS AffinityTypeDesc,\n virtual_machine_type AS VirtualMachineType,\n socket_count as SocketCount,\n cores_per_socket as CoresPerSocket,\n numa_node_count as NumaNodeCount,\n container_type as ContainerType,\n container_type_desc as ContainerDescription\n FROM sys.dm_os_sys_info WITH(nolock)",
"queryTimeInTicks": 0
}
]
Tanya jawab umum
Bagaimana DBA membaca file log audit lokal? File log ini ditulis dalam format JSON. Setiap baris akan menjadi objek JSON yang mewakili sepotong data penggunaan / diagnostik yang diunggah ke Microsoft. Nama bidang harus jelas sendiri.
Apa yang terjadi jika DBA menonaktifkan penggunaan dan pengumpulan data diagnostik? Tidak ada file audit lokal yang akan dibuat.
Apa yang terjadi jika tidak ada konektivitas/komputer internet di belakang firewall? Penggunaan SQL Server dan data diagnostik tidak akan dikirim ke Microsoft. Ini masih akan mencoba menulis log audit lokal jika dikonfigurasi dengan benar.
Bagaimana DBA menonaktifkan audit lokal? Hapus entri kunci registri UserRequestedLocalAuditDirectory.
Siapa yang dapat membaca file log audit lokal? Siapa pun di organisasi Anda yang memiliki akses ke Direktori audit lokal.
Bagaimana DBA mengelola file log yang ditulis ke direktori yang ditunjuk? DBA perlu mengelola sendiri pembersihan file di direktori untuk menghindari terlalu banyak mengkonsumsi ruang disk.
Apakah ada klien atau alat yang dapat saya gunakan untuk membaca output JSON ini? Output dapat dibaca dengan Notepad, Visual Studio, atau pembaca JSON pilihan Anda. Atau, Anda dapat membaca file JSON dan menganalisis data dalam instans SQL Server seperti yang diilustrasikan di bawah ini. Detail selengkapnya tentang cara membaca file JSON di SQL Server, silakan kunjungi Mengimpor file JSON ke SQL Server menggunakan OPENROWSET (BULK) dan OPENJSON (Transact-SQL).
DECLARE @JSONFile AS VARCHAR(MAX)
-- Read the JSON file into variable
SELECT @JSONFile = BulkColumn
FROM OPENROWSET (BULK 'C:\SQLCEIPAudit\MSSQLSERVER\2016-09-08.json', SINGLE_CLOB) MyFile
-- Check if the JSON file has been read properly and if it's in a JSON format
SELECT
@JSONFile LocalAuditOutput,
ISJSON(@JSONFile) IsFileInJSONFormat
-- Get the query identifier, query and the data (output of the query)
SELECT
sequence,
queryIdentifier,
query,
data
FROM OPENJSON(@JSONFile)
WITH (sessionId VARCHAR(64)
,sequence INT
,queryIdentifier VARCHAR(128)
,query VARCHAR(MAX)
,data NVARCHAR(MAX) AS JSON)
-- Get specific details about the output of "DatabaseProperties.001" query
SELECT
QueryIdentifier,
DatabaseID,
CompatibilityLevel,
IsQueryStoreOn
FROM OPENJSON(@JSONFile)
WITH (sessionId VARCHAR(64)
,sequence INT
,queryIdentifier VARCHAR(128)
,query VARCHAR(MAX)
,data NVARCHAR(MAX) AS JSON)
CROSS APPLY OPENJSON(data)
WITH ( DatabaseID varchar(128) '$.database_id'
,CompatibilityLevel varchar(128) '$.compatibility_level'
,IsQueryStoreOn varchar(128) '$.QS'
)
WHERE queryIdentifier = 'DatabaseProperties.001'
Lihat juga
Audit lokal untuk penggunaan SSMS dan pengumpulan data diagnostik