Audit lokal untuk penggunaan SQL Server dan pengumpulan data diagnostik (CEIP)

Berlaku untuk:SQL Server - Hanya Azure SQL Managed Instance Windows

Pengantar

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 pengumpulan Data Penggunaan dan Diagnostik SQL Server menulis data yang dikumpulkan oleh layanan ke folder yang ditunjuk, mewakili 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 SQL Server Database Engine and Analysis Services (SSAS). Untuk SQL Server 2016 CU4, 2016 SP1, dan rilis yang lebih baru, audit lokal juga diaktifkan untuk SQL Server Integration Services (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 CEIP SQL 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:

  1. Instans di-patch ke SQL Server RTM CU2 2016 atau yang lebih baru. Untuk Layanan Integrasi, instans di-patch ke SQL 2016 RTM CU4, SQL 2016 SP1, atau yang lebih baru.

  2. 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:

  1. Ketahui nama instans SQL Server dan akun masuk layanan CEIP SQL Server.

  2. Konfigurasikan folder baru untuk file audit lokal.

  3. Berikan izin ke akun masuk layanan CEIP SQL Server.

  4. 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

  1. Luncurkan konsol Layanan . Untuk melakukan ini, pilih Tombol Windows + R pada keyboard Anda untuk membuka kotak dialog Jalankan . Selanjutnya, ketik services.msc di bidang teks dan pilih OK untuk meluncurkan konsol Layanan .

  2. Navigasikan ke layanan yang sesuai. Misalnya, untuk mesin database, temukan SQL Server layanan CEIP(Your-Instance-Name). Untuk Analysis Services, temukan SQL Server Analysis Services CEIP(Your-Instance-Name). Untuk Layanan Integrasi, temukan layanan CEIP SQL Server Integration Services.

  3. Klik kanan pada layanan dan pilih Properti.

  4. 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.
Pisahkan folder 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. Memiliki instans Mesin Database dan Analysis Services yang dikonfigurasi ke folder yang sama akan menyebabkan semua audit lokal menulis ke file log yang sama dari kedua instans.
Memberikan izin ke akun masuk layanan CEIP SQL Server Aktifkan isi folder Daftar, akses Baca dan Tulis ke SQL Server akun masuk layanan CEIP

Memberikan izin ke akun masuk layanan CEIP SQL Server

  1. Di File Explorer, navigasikan ke lokasi tempat folder baru berada.

  2. Klik kanan folder baru dan pilih Properti.

  3. Pada tab Keamanan, pilih Edit kelola Izin.

  4. Pilih Tambahkan dan ketik kredensial Layanan CEIP SQL Server. Contoh: NT Service\SQLTELEMETRY.

  5. Pilih Periksa Nama untuk memvalidasi nama yang Anda berikan, lalu pilih OK.

  6. Pada kotak dialog Izin, pilih akun Masuk untuk SQL Server layanan CEIP dan pilih Daftar konten folder, Baca dan Tulis.

  7. Pilih OK untuk segera menerapkan perubahan izin.

Membuat pengaturan kunci registri untuk mengonfigurasi direktori target audit lokal

  1. Luncurkan regedit.

  2. Navigasi ke jalur CPE yang sesuai:

    Versi Mesin database - 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
  3. Klik kanan jalur CPE dan pilih Baru. Pilih Nilai String.

  4. 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.

  1. Luncurkan regedit

  2. Navigasi ke jalur CPE yang sesuai.

  3. Klik kanan UserRequestedLocalAuditDirectory dan pilih Ubah.

  4. Untuk mengaktifkan audit lokal, ketik jalur audit lokal, misalnya C:\SQLCEIPAudit\MSSQLSERVER\DB\.

    Untuk menonaktifkan audit lokal, kosongkan nilai di UserRequestedLocalAuditDirectory.

  5. Tutup regedit.

SQL Server CEIP 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:

  1. Luncurkan konsol Layanan . Untuk melakukan ini, pilih Tombol Windows + R pada keyboard Anda untuk membuka kotak dialog Jalankan . Selanjutnya, ketik services.msc di bidang teks dan pilih OK untuk meluncurkan konsol Layanan .

  2. Navigasikan ke layanan yang sesuai.

    • Untuk Mesin Database, gunakan SQL Server layanan CEIP (Your-Instance-Name).
    • Untuk Analysis Services, gunakan SQL Server Analysis Services CEIP (Your-Instance-Name).
    • Untuk Layanan Integrasi,
      • Untuk SQL 2016, gunakan layanan SQL SERVER Integration Services CEIP 13.0.
      • Untuk SQL 2017, gunakan layanan SQL SERVER Integration Services CEIP 14.0.
    • Untuk SQL 2019, gunakan layanan SQL SERVER Integration Services CEIP 15.0.
  3. Klik kanan pada layanan dan pilih Mulai Ulang.

  4. 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

  1. 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. 

  2. 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 struktur data output audit lokal

  • File log audit lokal berada di JSON, yang berisi sekumpulan objek (baris) yang mewakili titik data yang dikirim kembali ke Microsoft di emitTime.
  • Setiap baris mengikuti skema tertentu yang diidentifikasi oleh schemaVersion.
  • Setiap baris adalah output dari sesi layanan SQLCEIP yang diidentifikasi sebagai sessionID.
  • Baris dipancarkan secara berurutan, diidentifikasi berdasarkan urutan.
  • Setiap baris titik data berisi output queryIdentifier, yang dapat berupa kueri T-SQL, sesi XE, atau pesan yang terkait dengan jenis jejak, yang diidentifikasi sebagai traceName.
  • queryIdentifiers dikelompokkan dan dibuat versinya bersama dengan querySetVersion.
  • data berisi output eksekusi kueri terkait, yang mengambil queryTimeInTicks.
  • queryIdentifiers untuk kueri T-SQL memiliki definisi kueri T-SQL yang disimpan dalam kueri.
Hierarki informasi audit lokal logis Kolom terkait
Header emitTime, schemaVersion
Komputer operatingSystem
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 888770C4D5A8C6729F76F33D472B28883AE518C92E19998888B171A085059FD
schemaVersion Versi skema SQLCEIP   3
emitTime Waktu pemancar 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
sequence Jumlah urutan titik data yang dikirim dalam sesi 15
clientVersion SQL Server versi instans 13.0.2161.3 ((SQL16_RTM_QFE-CU).160907-1223)
operatingSystem Versi OS tempat instans SQL Server diinstal Pusat Data Microsoft Windows Server 2012 R2
querySetVersion Versi grup definisi kueri 1.0.0.0
traceName Kategori jejak: (SQLServerXeQueries, SQLServerPeriodicQueries, SQLServerOneSettingsException) Kueri SQLServerPeriodic
queryIdentifier Pengidentifikasi kueri SQLServerProperties.002
data Output informasi yang dikumpulkan pada queryIdentifier sebagai output kueri T-SQL, sesi XE, atau aplikasi [{"Collation": "SQL_Latin1_General_CP1_CI_AS","SqlFTinstalled": "0" "SqlIntSec": "1","IsSingleUser": "0","SqlFilestreamMode": "0","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) di Windows Server 2012 R2 Datacenter 6.3 \u003cX64\u003e (Build 9600: ) (Hypervisor)\n"}],
query Jika berlaku, definisi kueri T-SQL yang 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(\u0027ProduductLevel\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 pelacakan

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 poin 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 titik data untuk menggabungkan ID produk digital hash anonim (SHA-256) instans SQL Server.

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 ditulis.

Apa yang terjadi jika tidak ada konektivitas internet/mesin di belakang firewall? SQL Server data penggunaan dan 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 harus mengelola sendiri pembersihan file di direktori untuk menghindari terlalu banyak 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 SQL Server Management Directory dan pengumpulan data diagnostik