Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server – pouze windows
azure SQL Managed Instance
Úvod
Microsoft SQL Server obsahuje funkce s podporou internetu, které mohou shromažďovat a odesílat informace o vašem počítači nebo zařízení. Tomu se říká standardní informace o počítači. Místní součást auditu shromažďování dat využití a diagnostických dat SQL Serveru zapisuje data shromážděná službou do určené složky, která představuje data (protokoly), která budou odeslána Do Microsoftu. Účelem místního auditu je umožnit zákazníkům zobrazit všechna data, která Microsoft s touto funkcí shromažďuje z důvodů dodržování předpisů, zákonných předpisů nebo ověření ochrany osobních údajů.
Pro SQL Server 2016 CU2 a CU3 je místní audit konfigurovatelný na úrovni instance databázového stroje a služby Analysis Services (SSAS). Pro SQL Server 2016 CU4, 2016 SP1 a novější verze je povolen místní audit také pro SQL Server Integration Services (SSIS). Jiné součásti SYSTÉMU SQL Server, které se instalují během instalace a nástrojů SYSTÉMU SQL Server, které se stáhnou nebo nainstalují po instalaci, nemají možnost místního auditu pro shromažďování dat o využití a diagnostických datech.
Poznámky
- Odebrání nebo zakázání služby SQL CEIP se nepodporuje.
- Odebrání prostředků SQL CEIP ze skupiny clusterů se nepodporuje.
Výslovný nesouhlas s používáním SQL Serveru a shromažďováním diagnostických dat se podporuje, ale službu nejde odebrat ani zakázat. Pokud chcete zakázat shromažďování dat, přečtěte si téma Zapnutí nebo vypnutí místního auditu.
Požadavky
Následující požadavky jsou nezbytné pro povolení místního auditu pro každou instanci SQL Serveru:
Instance je opravena na SQL Server 2016 RTM CU2 nebo novější. U integračních služeb je instance opravena na SQL 2016 RTM CU4, SQL 2016 SP1 nebo novější.
Uživatel musí být správce systému nebo role s přístupem k přidání a úpravě klíče registru, vytváření složek, správě zabezpečení složek a zastavení/spuštění služby systému Windows.
Předkonfigurační kroky před zapnutím místního auditu
Před zapnutím místního auditu musí správce systému:
Znát název instance SYSTÉMU SQL Server a přihlašovací účet služby SQL Server CEIP.
Nakonfigurujte novou složku pro místní soubory auditu.
Udělte oprávnění k přihlašovacímu účtu služby SQL Server CEIP.
Vytvořte nastavení klíče registru pro konfiguraci místního cílového adresáře auditu.
Získání přihlašovacího účtu služby SQL Server CEIP
Následujícím postupem získáte přihlašovací účet služby SQL Server CEIP.
Spusťte konzolu Služby . Uděláte to tak, že na klávesnici vyberete klávesu Windows + R a otevřete dialogové okno Spustit . Dále do textového pole zadejte services.msc a výběrem ok spusťte konzolu Služby .
Přejděte na příslušnou službu. Například pro mechanismus databáze vyhledejte službu SQL Server CEIP(Název instance). Pro Analysis Services vyhledejte SQL Server Analysis Services CEIP(Název vaší instance). V případě integračních služeb vyhledejte službu SQL Server Integration Services CEIP.
Klikněte pravým tlačítkem myši na službu a zvolte Vlastnosti.
Vyberte kartu Přihlásit . Přihlašovací účet je uvedený v tomto účtu.
Nakonfigurujte novou složku pro místní soubory auditu.
Vytvořte novou složku (místní adresář auditu), kde místní audit zapíše protokoly. Například úplná cesta k adresáři místního auditu pro výchozí instanci databázového stroje by byla: C:\SQLCEIPAudit\MSSQLSERVER\DB\.
Poznámka:
Nakonfigurujte cestu k adresáři pro místní audit mimo instalační cestu SQL Serveru, abyste zabránili povolení funkcí auditování a oprav, aby mohly způsobit potenciální problémy s SQL Serverem.
| Rozhodnutí o návrhu | Recommendation |
|---|---|
| Dostupnost prostoru | Při středním zatížení s přibližně 10 databázemi počítejte s přibližně 2 MB místa na disku pro každou databázi na každou instanci. |
| Samostatné adresáře | Vytvořte adresář pro každou instanci. Například použijte C:\SQLCEIPAudit\MSSQLSERVER\DB\ pro instanci SQL Serveru s názvem MSSQLSERVER. To zjednodušuje správu souborů. |
| Samostatné složky | Pro každou službu použijte konkrétní složku. Například pro daný název instance mějte jednu složku pro databázový systém. Pokud instance služby Analysis Services používá stejný název instance, vytvořte pro Analysis Services samostatnou složku. Pokud jsou instance databázového stroje i služby Analysis Services nakonfigurované do stejné složky, způsobí, že se všechny místní audity zapisují do stejného souboru protokolu z obou instancí. |
| Udělení oprávnění k přihlašovacímu účtu služby SQL Server CEIP | Povolení obsahu složky Seznamu, oprávnění ke čtení a zápisu k přihlašovacímu účtu služby SQL Server CEIP |
Udělení oprávnění k přihlašovacímu účtu služby SQL Server CEIP
V Průzkumníku souborů přejděte do umístění, kde se nachází nová složka.
Klikněte pravým tlačítkem myši na novou složku a zvolte Vlastnosti.
Na kartě Zabezpečení vyberte Upravit a spravujte oprávnění.
Vyberte Přidat a zadejte přihlašovací údaje služby SQL Server CEIP. Příklad:
NT Service\SQLTELEMETRY.Vyberte Zkontrolovat jména a ověřte zadaný název a pak vyberte OK.
V dialogovém okně Oprávnění zvolte účet Přihlášení ke službě SQL Server CEIP a vyberte Vypsat obsah složky, Číst a Zapisovat.
Vyberte OK , aby se změny oprávnění použily okamžitě.
Vytvoření nastavení klíče registru pro konfiguraci místního cílového adresáře auditu
Spusťte regedit.
Přejděte na příslušnou cestu CPE:
Version Databázový stroj – klíč registru 2016 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.Vaše-Instance-Název\CPE 2017 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14.Vaše-Název-Instance\CPE 2019 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15. Název instance\CPE Version Analysis Services – klíč registru 2016 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSAS13. Název instance\CPE 2017 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSAS14.Vaše-název-instance\CPE 2019 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSAS15. Název instance\CPE Version Integrační služby – klíč registru 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 Klikněte pravým tlačítkem myši na cestu CPE a zvolte Nový. Vyberte hodnotu řetězce.
Pojmenujte nový klíč
UserRequestedLocalAuditDirectoryregistru .
Zapnutí nebo vypnutí místního auditu
Po dokončení kroků předkonfigurace můžete zapnout místní audit. K tomu použijte účet správce systému nebo podobnou roli s přístupem k úpravě klíčů registru a zapněte nebo vypněte místní audit pomocí následujícího postupu.
Spusťte regedit.
Přejděte na příslušnou cestu CPE.
Klikněte pravým tlačítkem na UserRequestedLocalAuditDirectory a vyberte Změnit.
Pokud chcete zapnout místní audit, zadejte cestu místního auditu, například C:\SQLCEIPAudit\MSSQLSERVER\DB\.
Pokud chcete vypnout místní audit, vyprázdněte hodnotu v UserRequestedLocalAuditDirectory.
Zavřete regedit.
Sql Server CEIP by měl okamžitě rozpoznat nastavení místního auditu, pokud je služba již spuštěná. Chcete-li spustit službu SQL Server CEIP, správce systému nebo někdo, kdo má přístup ke spuštění nebo zastavení služeb systému Windows, může postupovat podle následujících kroků:
Spusťte konzolu Služby . Uděláte to tak, že na klávesnici vyberete klávesu Windows + R a otevřete dialogové okno Spustit . Dále do textového pole zadejte services.msc a výběrem ok spusťte konzolu Služby .
Přejděte na příslušnou službu.
- Pro databázový stroj použijte službu SQL Server CEIP (Název vaší instance).
- Pro Analysis Services použijte SQL Server Analysis Services CEIP (název vaší instance).
- Pro integrační služby
- Pro SQL 2016 použijte službu SQL Server Integration Services CEIP 13.0.
- Pro SQL 2017 použijte službu SQL Server Integration Services CEIP 14.0.
- Pro SQL 2019 použijte službu SQL Server Integration Services CEIP 15.0.
Klikněte pravým tlačítkem na službu a zvolte Restartovat.
Ověřte, že je stav služby běžící.
Místní audit vytvoří jeden soubor protokolu za den. Soubory protokolu budou ve formě <YYYY-MM-DD>.json. Například 2016-07-12.json. Pokud v určeném adresáři existuje soubor pro daný den, místní audit k němu přidá údaje. V opačném případě vytvoří nový soubor pro tento den.
Poznámka:
Po prvním povolení místního auditu může trvat až 5 minut, než se soubor protokolu zapíše.
Maintenance
Pokud chcete omezit využití místa na disku soubory napsanými místním auditem, nastavte zásadu nebo běžnou úlohu pro vyčištění místního adresáře auditu, aby se odebraly starší nepotřebné soubory.
Zabezpečte cestu k adresáři místního auditu tak, aby byla přístupná jenom příslušným lidem. Všimněte si, že soubory protokolu obsahují informace uvedené v tématu Postup konfigurace SQL Serveru 2016 tak, aby odesílaly microsoftu zpětnou vazbu. Přístup k tomuto souboru by měl zabránit většině členů vaší organizace v jeho čtení.
Datový slovník výstupní datové struktury místního auditu
- Soubory protokolu místního auditu jsou ve formátu JSON obsahující sadu objektů (řádků) představujících datové body, které se odesílají zpět do Microsoftu při emitTime.
- Každý řádek se řídí konkrétním schématem, které identifikuje schemaVersion.
- Každý řádek je výstupem relace služby SQLCEIP identifikovanou jako ID relace.
- Řádky se generují v posloupnosti identifikované sekvencí.
- Každý řádek datového bodu obsahuje výstup queryIdentifier, což může být dotaz T-SQL, relace XE nebo zpráva související s typem trasování, identifikovaná jako traceName.
- queryIdentifiers jsou seskupené a verzovány společně s querySetVersion.
- data obsahují výstup odpovídajícího spuštění dotazu, které trvalo queryTimeInTicks.
- queryIdentifiers pro T-SQL dotazy mají definici dotazu T-SQL uloženou v dotazu.
| Hierarchie informací z logického místního auditu | Související sloupce |
|---|---|
| Header | emitTime, schemaVersion |
| Počítač | operační systém |
| Instance | instanceUniqueID, correlationID, clientVersion |
| Session | sessionID, traceName |
| Query | sequence, querySetVersion, queryIdentifier, dotaz, queryTimeInTicks |
| Data | data |
Definice párů názvů a hodnot a příklady
Sloupce uvedené níže představují pořadí výstupu místního souboru auditu. Jednosměrná hodnota hash s SHA 256 slouží k anonymizaci hodnot pro řadu níže uvedených sloupců.
| Název | Description | Ukázkové hodnoty |
|---|---|---|
| instanceUniqueID | Anonymizovaný identifikátor instance | 888770C4D5A8C6729F76F33D472B28883AE518C92E199888B171A085059FD |
| verze schématu | Verze schématu SQLCEIP | 3 |
| emitTime | Datový bod čas vysílání v UTC | 2016-09-08T17:20:22.1124269Z |
| sessionId | Identifikátor relace ke službě SQLCEIP | 89decf9a-ad11-485c-94a7-fefb3a02ed86 |
| identifikátor korelace | Držitel místa pro další identifikátor | 0 |
| sekvence | Pořadové číslo datových bodů odeslaných v rámci relace | 15 |
| verze klienta | Verze instance SQL Serveru | 13.0.2161.3 ((SQL16_RTM_QFE-CU).160907-1223) |
| operační systém | Verze operačního systému, ve které je nainstalovaná instance SQL Serveru | Microsoft Windows Server 2012 R2 Datacenter |
| querySetVersion | Verze skupiny definic dotazů | 1.0.0.0 |
| traceName | Kategorie trasování: (SQLServerXeQueries, SQLServerPeriodicQueries, SQLServerOneSettingsException) | SQLServerPeriodicQueries |
| identifikátor dotazu | Identifikátor dotazu | SQLServerProperties.002 |
| data | Výstup informací shromážděných v queryIdentifier jako výstup dotazu T-SQL, relace XE nebo aplikace | [{"Slovník": "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","Verze": "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-bitová verze) ve Windows Serveru 2012 R2 Datacenter 6.3 \u003cX64\u003e (build 9600: ) (Hypervisor)\n"}] |
| dotaz | Pokud je to relevantní, definice dotazu T-SQL související s identifikátorem dotazu, který vytváří data. Tato komponenta se nenahraje službou SQL Server CEIP. Je součástí místního auditu jako odkaz pouze na zákazníky. | SELECT\n SERVERPROPERTY(\u0027kolace\u0027) AS [Kolace],\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, verze\n @@VERSION AS |
| queryTimeInTicks | Doba trvání potřebná k provedení dotazu s následující kategorií trasování: (SQLServerXeQueries, SQLServerPeriodicQueries) | 0 |
Kategorie trasování
V současné době shromažďujeme následující kategorie sledování:
- SQLServerXeQueries: obsahuje datové body shromážděné prostřednictvím rozšířené relace událostí.
- SQLServerPeriodicQueries: obsahuje datové body shromážděné prostřednictvím pravidelných dotazů spuštěných v instanci SQL Serveru.
- SQLServerPerDBPeriodicQueries: obsahuje datové body shromážděné prostřednictvím pravidelných dotazů spuštěných až do 30 databází v instanci SQL Serveru.
- SQLServerOneSettingsException: obsahuje zprávy o výjimce související s aktualizací schématu nebo sady dotazů.
- DigitalProductID: obsahuje datové body pro agregaci anonymizovaných (SHA-256) hashovaných digitálních ID produktu instancí SQL Serveru.
Příklady místních souborů auditu
Níže je výňatek výstupu souboru JSON místního auditu.
[
{
"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
}
]
Nejčastější dotazy
Jak dbA čtou místní soubory protokolu auditu? Tyto soubory protokolu jsou napsané ve formátu JSON. Každý řádek bude objekt JSON představující část použití / diagnostická data nahraná do Microsoftu. Názvy polí by měly být vysvětlující.
Co se stane, když dbA zakáže shromažďování dat o využití a diagnostických datech? Žádný místní soubor auditu nebude zapsán.
Co se stane, když není připojení k internetu nebo když je počítač za bránou firewall? Do Microsoftu se neodesílají data o využití a diagnostice SQL Serveru. Pokud je správně nakonfigurovaná, pokusí se zapsat protokoly místního auditu.
Jak správci databází zakážou místní audit? Odeberte položku klíče registru UserRequestedLocalAuditDirectory.
Kdo může číst místní soubory protokolu auditu? Kdokoli ve vaší organizaci, který má přístup k místnímu adresáři auditu.
Jak dbA spravují soubory protokolů zapsané do určeného adresáře? DbA budou muset samostatně spravovat vyčištění souborů v adresáři, aby se zabránilo příliš velké spotřebě místa na disku.
Je k dispozici klient nebo nástroj, který můžu použít ke čtení tohoto výstupu JSON? Výstup můžete číst pomocí Poznámkového bloku, sady Visual Studio nebo libovolné čtečky JSON podle vašeho výběru. Případně si můžete přečíst soubor JSON a analyzovat data v instanci SQL Serveru, jak je znázorněno níže. Další podrobnosti o tom, jak číst soubor JSON na SQL Serveru, najdete v tématu Import souborů JSON do SQL Serveru pomocí OPENROWSET (BULK) a 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'
Viz také
Místní audit využití SSMS a shromažďování diagnostických dat