Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:SQL Server in Windows
Azure SQL Managed Instance
Introductie
Microsoft SQL Server bevat internetfuncties waarmee informatie over uw computer of apparaat kan worden verzameld en verzonden. Dit wordt standaardcomputergegevens genoemd. Het lokale controleonderdeel van het verzamelen van SQL Server-gebruiks- en diagnostische gegevens schrijft gegevens die door de service zijn verzameld naar een aangewezen map, die de gegevens (logboeken) vertegenwoordigt die naar Microsoft worden verzonden. Het doel van de lokale audit is om klanten toe te staan alle gegevens te zien die Microsoft met deze functie verzamelt, om redenen van naleving, regelgeving of privacyvalidatie.
Voor SQL Server 2016 CU2 en CU3 kan lokale controle worden geconfigureerd op exemplaarniveau voor SQL Server Database Engine en Analysis Services (SSAS). Voor SQL Server 2016 CU4, 2016 SP1 en latere releases is lokale controle ook ingeschakeld voor SSIS (SQL Server Integration Services). Andere SQL Server-onderdelen die worden geïnstalleerd tijdens setup en SQL Server-hulpprogramma's die worden gedownload of geïnstalleerd nadat Setup geen lokale controlemogelijkheid heeft voor het verzamelen van gebruiks- en diagnostische gegevens.
Opmerkingen
- Het verwijderen of uitschakelen van de SQL CEIP-service wordt niet ondersteund.
- Het verwijderen van de SQL CEIP-resources uit de clustergroep wordt niet ondersteund.
Het verwijderen van sql Server-gebruik en het verzamelen van diagnostische gegevens wordt ondersteund, maar de service kan niet worden verwijderd of uitgeschakeld. Zie Lokale controle in- of uitschakelen als u zich wilt afmelden voor het verzamelen van gegevens
Vereiste voorwaarden
Hier volgen de vereisten voor het inschakelen van lokale controle op elk SQL Server-exemplaar:
Het exemplaar is gepatcht naar SQL Server 2016 RTM CU2 of hoger. Voor Integration Services wordt het exemplaar gepatcht naar SQL 2016 RTM CU4, SQL 2016 SP1 of hoger.
Gebruiker moet een systeembeheerder of een rol met toegang tot het toevoegen en wijzigen van registersleutel, mappen maken, mapbeveiliging beheren en een Windows-service stoppen/starten.
Stappen voorafgaand aan het inschakelen van lokale controle vooraf configureren
Voordat u lokale controle inschakelt, moet een systeembeheerder het volgende doen:
Ken de naam van het SQL Server-exemplaar en het aanmeldingsaccount van de SQL Server CEIP-service.
Configureer een nieuwe map voor de lokale auditbestanden.
Verdeel machtigingen aan het aanmeldingsaccount van de SQL Server CEIP-service.
Maak een registersleutelinstelling om de doelmap voor lokale audit te configureren.
Het aanmeldingsaccount van de SQL Server CEIP-service ophalen
Volg de volgende stappen om het aanmeldingsaccount van de SQL Server CEIP-service op te halen
Start de Services-console. Selecteer hiervoor de Windows-toets + R op het toetsenbord om het dialoogvenster Uitvoeren te openen. Typ vervolgens services.msc in het tekstveld en selecteer OK om de Services-console te starten.
Navigeer naar de juiste service. Voor de database-engine zoekt u bijvoorbeeld de SQL Server CEIP-service(Uw-Exemplaarnaam). Zoek voor Analysis Services SQL Server Analysis Services CEIP(uw-exemplaarnaam). Voor Integration Services zoekt u de CEIP-service van SQL Server Integration Services.
Klik met de rechtermuisknop op de service en kies Eigenschappen.
Selecteer het tabblad Aanmelden . Het aanmeldingsaccount wordt vermeld in dit account.
Configureer een nieuwe map voor de lokale auditbestanden.
Maak een nieuwe map (lokale auditmap) waarin de lokale audit de logboeken schrijft. Het volledige pad naar de lokale auditmap voor een standaardexemplaar van de database-engine is bijvoorbeeld: C:\SQLCEIPAudit\MSSQLSERVER\DB\.
Opmerking
Configureer het mappad voor lokale controle buiten het installatiepad van SQL Server om te voorkomen dat controlefunctionaliteit en patching potentiële problemen met SQL Server veroorzaken.
| Ontwerpbeslissing | Aanbeveling |
|---|---|
| Beschikbaarheid van ruimte | Bij een gemiddelde werklast voor ongeveer 10 databases moet u rekenen op ongeveer 2 MB schijfruimte per database per instantie. |
| Afzonderlijke mappen | Maak een map voor elke instantie. Gebruik bijvoorbeeld C:\SQLCEIPAudit\MSSQLSERVER\DB\ voor een SQL Server-exemplaar met de naam MSSQLSERVER. Dit vereenvoudigt bestandsbeheer. |
| Afzonderlijke mappen | Gebruik een specifieke map voor elke service. Voor een bepaalde instantienaam hebt u bijvoorbeeld één map voor de database-engine. Als een exemplaar van Analysis Services dezelfde exemplaarnaam gebruikt, maakt u een afzonderlijke map voor Analysis Services. Als zowel database-engine- als Analysis Services-exemplaren zijn geconfigureerd voor dezelfde map, zorgt u ervoor dat alle lokale audit vanuit beide exemplaren naar hetzelfde logboekbestand schrijft. |
| Machtigingen verlenen aan het aanmeldingsaccount van de SQL Server CEIP-service | Inhoud van de lijstmap inschakelen, lees- en schrijftoegang tot het aanmeldingsaccount van de SQL Server CEIP-service |
Machtigingen verlenen aan het aanmeldingsaccount van de SQL Server CEIP-service
Navigeer in Verkenner naar de locatie van de nieuwe map.
Klik met de rechtermuisknop op de nieuwe map en kies Eigenschappen.
Selecteer Op het tabblad Beveiliging de optie Machtiging beheren bewerken .
Selecteer Toevoegen en typ de referenties van de SQL Server CEIP-service. Bijvoorbeeld
NT Service\SQLTELEMETRY.Selecteer Namen controleren om de opgegeven naam te valideren en selecteer VERVOLGENS OK.
Kies in het dialoogvenster Machtiging het aanmeldingsaccount voor de SQL Server CEIP-service en selecteer de inhoud van de lijstmap, Lezen en Schrijven.
Selecteer OK om de machtigingswijzigingen onmiddellijk toe te passen.
Een registersleutelinstelling maken om de doelmap voor lokale audit te configureren
Start regedit.
Navigeer naar het juiste CPE-pad:
Versie Database engine - Registersleutel 2016 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.Naam van uw exemplaar\CPE 2017 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.Uw-Instance-Naam\CPE 2019 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.Naam van uw exemplaar\CPE Versie Analysis Services - Registersleutel 2016 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSAS13.Naam van uw exemplaar\CPE 2017 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSAS14.Naam van uw exemplaar\CPE 2019 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSAS15. Naam van uw exemplaar\CPE Versie Integration Services - Registersleutel 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 met de rechtermuisknop op het CPE-pad en kies Nieuw. Selecteer tekenreekswaarde.
Geef de nieuwe registersleutel
UserRequestedLocalAuditDirectoryeen naam.
Lokale controle in- of uitschakelen
Nadat u de vooraf geconfigureerde stappen hebt voltooid, kunt u lokale controle inschakelen. Gebruik hiervoor een systeembeheerdersaccount of een vergelijkbare rol met toegang tot het wijzigen van registersleutels om lokale audit in of uit te schakelen door de onderstaande stappen te volgen.
Start regedit.
Navigeer naar het juiste CPE-pad.
Klik met de rechtermuisknop op UserRequestedLocalAuditDirectory en selecteer Wijzigen.
Als u lokale controle wilt inschakelen, typt u het lokale auditpad, bijvoorbeeld C:\SQLCEIPAudit\MSSQLSERVER\DB\.
Als u lokale controle wilt uitschakelen, leegt u de waarde in UserRequestedLocalAuditDirectory.
Sluit regedit.
CEIP van SQL Server moet de lokale controle-instelling onmiddellijk herkennen als de service al wordt uitgevoerd. Een systeembeheerder of iemand met toegang tot het starten of stoppen van Windows Services kan de onderstaande stappen volgen om de SQL Server CEIP-service te starten.
Start de Services-console. Selecteer hiervoor de Windows-toets + R op het toetsenbord om het dialoogvenster Uitvoeren te openen. Typ vervolgens services.msc in het tekstveld en selecteer OK om de Services-console te starten.
Navigeer naar de juiste service.
- Gebruik voor Database Engine de CEIP-service van SQL Server (naam van uw exemplaar).
- Voor het gebruik van Analysis Services, gebruikt u SQL Server Analysis Services CEIP (Uw-Instance-Name).
- Voor Integratiediensten,
- Voor SQL 2016 gebruikt u de CEIP-service 13.0 van SQL Server Integration Services.
- Voor SQL 2017 gebruikt u de CEIP-service 14.0 van SQL Server Integration Services.
- Voor SQL 2019 gebruikt u de CEIP-service 15.0 van SQL Server Integration Services.
Klik met de rechtermuisknop op de service en kies Opnieuw opstarten.
Controleer of de status van de service Actief is.
Lokale controle produceert één logboekbestand per dag. De logboekbestanden hebben een vorm van <YYYY-MM-DD>.json. Bijvoorbeeld 2016-07-12.json. Als er een bestaand bestand voor de dag in de aangewezen map is, zal de lokale audit eraan worden toegevoegd. Anders wordt er een nieuw bestand voor de dag gemaakt.
Opmerking
Nadat lokale controle is ingeschakeld, kan het tot vijf minuten duren voordat het logboekbestand voor het eerst is geschreven.
Maintenance
Als u het gebruik van schijfruimte wilt beperken door de bestanden die zijn geschreven door lokale controle, stelt u een beleid of een reguliere taak in om de lokale auditmap op te schonen om oudere, overbodige bestanden te verwijderen.
Beveilig het pad van de lokale auditmap zodat het alleen toegankelijk is voor de juiste personen. De logboekbestanden bevatten informatie zoals beschreven in SQL Server 2016 configureren voor het verzenden van feedback naar Microsoft. Toegang tot dit bestand moet voorkomen dat de meeste leden van uw organisatie het lezen.
Woordenlijst van de lokale audituitvoergegevensstructuur
- Lokale auditlogboekbestanden bevinden zich in JSON, met een set objecten (rijen) die gegevenspunten vertegenwoordigen die worden teruggestuurd naar Microsoft bij emitTime.
- Elke rij volgt een specifiek schema dat wordt geïdentificeerd door schemaVersion.
- Elke rij is een uitvoer van een SQLCEIP-servicesessie die wordt geïdentificeerd als sessionID.
- Rijen worden op volgorde verzonden, geïdentificeerd door reeks.
- Elke gegevenspuntrij bevat de uitvoer van een queryIdentifier, die een T-SQL-query, een XE-sessie of een bericht met betrekking tot een type tracering kan zijn, geïdentificeerd als traceName.
- queryIdentifiers worden gegroepeerd en samen geversioneerd met querySetVersion.
- gegevens bevatten de uitvoer van de bijbehorende queryuitvoering, die queryTimeInTicks heeft uitgevoerd.
- queryIdentifiers voor T-SQL-query's hebben de T-SQL-querydefinitie opgeslagen in de query.
| Logische lokale hiërarchie van auditinformatie | Gerelateerde kolommen |
|---|---|
| Header | emitTime, schemaVersion |
| Machine | besturingssysteem |
| Instantie | instanceUniqueID, correlationID, clientVersion |
| Session | sessionID, traceName |
| Query | reeks, querySetVersion, queryIdentifier, query, queryTimeInTicks |
| Gegevens | gegevens |
Definitie van naam-waardeparen en voorbeelden
De onderstaande kolommen vertegenwoordigen de volgorde van de uitvoer van het lokale auditbestand. Hash in één richting met SHA 256 wordt gebruikt om waarden voor een aantal onderstaande kolommen anoniem te maken.
| Naam | Description | Voorbeeldwaarden |
|---|---|---|
| instanceUniqueID | Geanonimiseerde exemplaar-id | 888770C4D5A8C6729F76F33D472B28883AE518C92E1999888B171A085059FD |
| Version van het schema | Schemaversie van SQLCEIP | 3 |
| emitTime | Gegevenspunt uitstoot-tijd in UTC | 2016-09-08T17:20:22.1124269Z |
| sessie-id | Sessie-identificatie voor de SQLCEIP-service | 89decf9a-ad11-485c-94a7-fefb3a02ed86 |
| correlationId | Plaatsaanduiding voor een extra id | 0 |
| volgorde | Volgnummer van de gegevenspunten die binnen de sessie zijn verzonden | 15 |
| klantversie | Versie van SQL Server-exemplaar | 13.0.2161.3 ((SQL16_RTM_QFE-CU).160907-1223) |
| besturingssysteem | De versie van het besturingssysteem waarop het SQL Server-exemplaar is geïnstalleerd | Microsoft Windows Server 2012 R2 Datacenter |
| querySetVersion | Versie van een groep querydefinities | 1.0.0.0 |
| traceernaam | Categorieën van traceringen: (SQLServerXeQueries, SQLServerPeriodicQueries, SQLServerOneSettingsException) | SQLServerPeriodicQueries |
| queryIdentifier | Een identificator voor de query | SQLServerProperties.002 |
| gegevens | De gegevens verzameld via queryIdentifier als uitvoer van een T-SQL-query, XE-sessie of de toepassing | [{"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) op Windows Server 2012 R2 Datacenter 6.3 \u003cX64\u003e (Build 9600: ) (Hypervisor)\n"}] |
| query | Indien van toepassing, is de T-SQL-querydefinitie gerelateerd aan de queryIdentifier die gegevens produceert. Dit onderdeel wordt niet geüpload door de SQL Server CEIP-service. Het is alleen opgenomen in lokale audit als referentie voor klanten. | 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 | De tijdsduur die nodig is voor het uitvoeren van de query met de volgende traceringscategorie: (SQLServerXeQueries, SQLServerPeriodicQueries) | 0 |
Traceringscategorieën
Momenteel verzamelen we de volgende traceringscategorieën:
- SQLServerXeQueries: bevat gegevenspunten die zijn verzameld via een uitgebreide gebeurtenissessie.
- SQLServerPeriodicQueries: bevat gegevenspunten die worden verzameld via periodieke query's die worden uitgevoerd in een SQL Server-exemplaar.
- SQLServerPerDBPeriodicQueries: bevat gegevenspunten die worden verzameld via periodieke query's die worden uitgevoerd tot maximaal 30 databases in een SQL Server-exemplaar.
- SQLServerOneSettingsException: bevat uitzonderingsberichten met betrekking tot het bijwerken van het schema en/of de queryset.
- DigitalProductID: bevat gegevenspunten voor het aggregeren van geanonimiseerde (SHA-256) gehashte digitale product-id van SQL Server-exemplaren.
Voorbeelden van lokale auditbestanden
Hieronder ziet u een fragment van een JSON-bestanduitvoer van lokale controle.
[
{
"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
}
]
Veelgestelde vragen
Hoe lezen DBA's de lokale auditlogboekbestanden? Deze logboekbestanden zijn geschreven in JSON-indeling. Elke regel is een JSON-object dat een stukje gebruiks-/diagnostische gegevens vertegenwoordigt dat naar Microsoft is geüpload. De namen van velden moeten duidelijk zijn.
Wat gebeurt er als de DBA het verzamelen van gebruiks- en diagnostische gegevens uitschakelt? Er wordt geen lokaal auditbestand geschreven.
Wat gebeurt er als er geen internetverbinding/computer zich achter de firewall bevindt? Sql Server-gebruiks- en diagnostische gegevens worden niet naar Microsoft verzonden. Er wordt nog steeds geprobeerd de lokale auditlogboeken te schrijven als deze correct zijn geconfigureerd.
Hoe schakelen DBA's lokale controle uit? Verwijder de registersleutelvermelding UserRequestedLocalAuditDirectory.
Wie kan de lokale auditlogboekbestanden lezen? Iedereen in uw organisatie die toegang heeft tot de lokale auditdirectory.
Hoe beheren DBA's de logboekbestanden die naar de aangewezen map zijn geschreven? DBA's moeten het opschonen van de bestanden in de map zelf beheren om te voorkomen dat er te veel schijfruimte wordt verbruikt.
Is er een client of hulpprogramma dat ik kan gebruiken om deze JSON-uitvoer te lezen? De uitvoer kan worden gelezen met Kladblok, Visual Studio of een JSON-lezer van uw keuze. U kunt ook het JSON-bestand lezen en de gegevens in een SQL Server-exemplaar analyseren, zoals hieronder wordt geïllustreerd. Ga naar JSON-bestanden importeren in SQL Server met behulp van OPENROWSET (BULK) en OPENJSON (Transact-SQL)voor meer informatie over het lezen van JSON-bestanden in SQL Server.
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'
Zie ook
Lokale controle voor het verzamelen van SSMS-gebruik en diagnostische gegevens