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 v systému Windows
Azure SQL Managed Instance
Důležité
Hlavní datové služby (MDS) se odeberou v SQL Serveru 2025 (17.x). MdS nadále podporujeme v SQL Serveru 2022 (16.x) a starších verzích.
Po instalaci služby MDS (Master Data Services) může být funkce protokolování trasování užitečná pro diagnostiku chyb, žádosti o podporu a monitorování využití a výkonu aplikací. Tento článek popisuje postup zapnutí a konfigurace protokolování trasování. Konkrétně tento článek popisuje trasování do textového souboru protokolu. Tento článek také popisuje postup vytvoření souboru protokolu, který může pomoct při řešení potíží se selháními, ke kterým může dojít při vytváření databáze MDS.
Pozadí
Master Data Services se skládá z webové aplikace ASP.NET (Master Data Manager) a služby WCF; obě jsou hostované ve službě IIS i v databázi SQL Serveru. Žádosti Master Data Manageru a externí volání na koncový bod rozhraní API webových služeb jsou zpracovány sdílenou vrstvou služby. Vrstva služby může protokolovat každý požadavek nebo odpověď operace, důležité události a chyby.
Jako správce s přístupem k souborům na webovém serveru IIS můžete protokolování povolit úpravou souboru Web.config MDS.
Ve výchozím nastavení je soubor Web.config v jedné z následujících složek webových aplikací:
SQL Server 2008 R2: program_files\Microsoft SQL Server\Master Data Services\WebApplication
SQL Server 2012 a novější verze: program_files\Microsoft SQL Server\<nnn>\Master Data Services\WebApplication
Čísla nnn v cestě odpovídají verzi nainstalovaného SQL Serveru. Následující tabulka uvádí verze cest:
| Verze | nnn |
|---|---|
| SQL Server 2019 | sto padesát |
| SQL Server 2017 | 140 |
| SQL Server 2016 | 130 |
| SQL Server 2014 | 120 |
| SQL Server 2012 | 110 |
Upozornění
Aktualizace Web.config způsobí recyklaci domény aplikace MDS ve službě IIS. Stávající uživatelské relace ztratí informace uložené v mezipaměti a uživatelé můžou zaznamenat chyby relace nebo pomalé načtení stránky. Pokud je to možné, proveďte změny v době mimo špičku.
Protokolování trasování pro webovou aplikaci MDS
SQL Server 2016 a novější verze
Soubor Web.config obsahuje sekci sledování, jak je znázorněno níže. Tato část je představena v SQL Serveru 2016 (13.x) Master Data Services.
<sources>
<!-- Adjust the switch value to control the types of messages that should be logged.
https://msdn.microsoft.com/library/system.diagnostics.sourcelevels
Use a switchValue of Verbose to generate a full log. Please be aware that
the trace file can get quite large very quickly. -->
<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="Warning, ActivityTracing">
<listeners>
<!-- Set a directory path where the service account you chose while setting up Master Data Services has read and write privileges.
Default path is Logs in WebApplication folder, for example C:\Program Files\Microsoft SQL Server\130\Master Data Services\WebApplication
New log file will be created every day or every 10 mb.
When directory size hits the 200 mb limitation, the oldest file will be deleted. -->
<add name="FileTraceListener"
type="Microsoft.MasterDataServices.Core.Logging.FileTraceListener, Microsoft.MasterDataServices.Core"
initializeData="DirectoryPath = Logs; FileSizeInMb = 10; MaxDirectorySizeInMb = 200"/>
<remove name="Default"/>
</listeners>
</source>
</sources>
Toto je výchozí chování trasování:
Trasování je povolené pro zprávy
WarningaActivityTracing.Další informace naleznete v tématu SourceLevels – výčet.
Protokoly se ukládají do složky Protokoly ve složce WebApplication . Výchozí umístění je C:\Program Files\Microsoft SQL Server\nnn\Master Data Services\WebApplication\Logs.
Soubor se vytvoří pro každý den nebo každých 10 MB.
Když velikost adresáře dosáhne 200 MB, nejstarší log se odstraní.
Formát protokolu je CSV. Následující tabulka popisuje formát protokolu:
prvek Popis Čas Když dojde k záznamu trasování ID korelace Každému požadavku je přiřazeno jedno ID korelace. Všechna trasování aktivovaná tímto požadavkem budou sdílet stejné ID korelace.
Pokud dojde k chybě v uživatelském rozhraní, ID korelace se zobrazí v chybové zprávě.Operace Požadovaný název operace. Pokud se jedná o požadavek webového uživatelského rozhraní, název operace je adresa URL. Pokud se jedná o požadavek rozhraní API, název operace je název služby. Úroveň Úroveň tohoto záznamu trasování Zpráva Text zprávy trasování
SQL Server 2014 a starší verze
Oddíl diagnostiky v původně nainstalovaném souboru Web.config
Následující fragment kódu souboru ukazuje oddíl diagnostiky z původně nainstalovaného souboruWeb.config .
Poznámka:
switchValue je nastavena na Off. Kromě toho jsou ukázkové řádky okomentovány. Tyto řádky jsou příklady pro přidání naslouchacích modulů pro trasování různých typů.
<system.diagnostics>
<sources>
<!-- Adjust the switch value to control the types of messages that should be logged. -->
<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="Off">
<listeners>
<!-- Enable and configure listeners as desired to obtain trace messages. -->
<!-- <add name="LogFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="MdsTrace.log" traceOutputOptions="DateTime" /> -->
<!-- <add name="EtwListener" type="System.Diagnostics.Eventing.EventProviderTraceListener, System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"
initializeData="{F2A341B8-CA5F-49ad-B00C-A82D3FCF948B}"/> -->
<!-- <remove name="Default"/> -->
</listeners>
</source>
</sources>
<trace autoflush="true"/>
</system.diagnostics>
Zapnutí trasování souborů protokolu
Pokud chcete povolit protokolování, změňte switchValue hodnotu na All jinou platnou hodnotu, jak je popsáno níže v tabulce 1. Pokud chcete povolit výstup do logu, odkomentujte řádek LogFileListener tak, jak je uvedeno v následující ukázce souboru:
<system.diagnostics>
<sources>
<!-- Adjust the switch value to control the types of messages that should be logged. -->
<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="All">
<listeners>
<!-- Enable and configure listeners as desired to obtain trace messages. -->
<add name="LogFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="MdsTrace.log" traceOutputOptions="DateTime"/>
<!-- <add name="EtwListener" type="System.Diagnostics.Eventing.EventProviderTraceListener, System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" initializeData="{F2A341B8-CA5F-49ad-B00C-A82D3FCF948B}"/> -->
<!-- <remove name="Default"/> -->
</listeners>
</source>
</sources>
<trace autoflush="true"/>
</system.diagnostics>
Tabulka 1 – nastavení SwitchValue pro protokolování
| Nastavení | Co se protokoluje |
|---|---|
| Vypnuto | nic |
| Chyba | pouze chyby |
| Výstraha | chyby a upozornění |
| Informace | chyby, upozornění, informační zprávy |
| Zdlouhavý | Informace a další informace o trasování a ladění, včetně požadavků rozhraní API a odpovědí ve formátu XML |
| Sledování aktivity | Pouze události spuštění a zastavení |
| Všechno | "Podrobné" a "SledováníAktivit" |
Název souboru a cesta
Hodnota initializeData je název souboru protokolu. To může být změněno na jiný název nebo zahrnout požadovanou cestu. Pokud není zadaná cesta, soubor se ve výchozím nastavení nastaví na cestu k adresáři webové aplikace (kde se nacházíWeb.config ).
Důležité
Účet služby pro fond aplikací MDS musí mít práva zapisování do umístění souboru protokolu.
Úroveň protokolování podrobností
Níže uvedená tabulka 2 popisuje kategorie událostí trasování, které mohou být protokolovány nebo řazeny, přičemž nejdůležitější/kritické události jsou nahoře.
Tabulka 1 výše uvádí platné nastavení protokolování switchValue. Toto nastavení lze upravit tak, aby vzniklo správné množství podrobností protokolování tak, aby vyhovovalo situaci.
Tabulka 2 – Typy událostí protokolování MDS
| Typ události | Popis |
|---|---|
| Kritický | Závažná chyba nebo chyba aplikace |
| Chyba | obnovitelná chyba |
| Výstraha | nekritický problém |
| Informace | informační zpráva |
| Zdlouhavý | ladicí trasovací zpráva |
| Začátek | spuštění logické operace |
| Zastavte | zastavení logické operace |
Doporučení k nastavení záznamů
- Pro normální provoz použijte nastavení
Off, abyste se vyhnuli protokolování úplně, nebo použijte nastaveníErrorčiWarning, která udrží protokoly malé a zároveň upozorní správce na problémy. -
AllNastavení použijte pro situace podpory a řešení potíží. - Slouží
ActivityTracingk měření výkonu nebo monitorování využití. - Používejte
Informationpouze v případě, že jste připraveni pravidelně kontrolovat a vyčistit protokoly. Protokoly můžou být s tímto nastavením zdlouhavé. Toto nastavení je užitečné pro sledování využití a vzorců využití. - Nepoužívejte
VerboseaniAllza normálních provozních podmínek, protože objem zaprotokolovaných dat negativně ovlivní výkon.
Postup vytvoření souboru protokolu pro podporu produktů
V situacích, kdy dojde k neočekávané chybě a vyžaduje se další diagnostika, je užitečné vytvořit soubor protokolu, který sleduje události vedoucí k problému spolu s požadavky a odpověďmi na služby.
Pokud chcete vytvořit stručný a užitečný soubor protokolu, postupujte takto:
Upozornění
Aktualizace Web.config způsobí recyklaci domény aplikace MDS ve službě IIS.
Pokud je to možné, zastavte fond aplikací MDS ve Správci služby IIS.
Výstraha
Udělejte to jenom v případě, že je možné aplikaci odpojit.
Pokud je to možné, přesuňte nebo odstraňte aktuální soubor protokolu (pokud už existuje).
Otevřete soubor Web.config pomocí textového editoru.
Poznámka:
Ve výchozím nastavení je soubor Web.config v jedné z následujících složek webových aplikací:
- SQL Server 2008 R2: program_files\Microsoft SQL Server\Master Data Services\WebApplication
- SQL Server 2012: program_files\Microsoft SQL Server\110\Master Data Services\WebApplication
Najděte
system.diagnosticsoddíl.Změňte
switchValuenaAllneboActivityTracinga odkomentujte řádek souboru protokolu, jak je znázorněno v části Zapnutí trasování souborů protokolu v tomto článku.- Slouží
switchValue="All"k diagnostice chyb. - Slouží
switchValue="ActivityTracing"k diagnostice výkonu. - Název souboru MdsTrace.log může mít předponu s cestou, pokud je to požadováno.
- Slouží
Pokud byl fond aplikací dříve zastavený, spusťte fond aplikací MDS ve službě IIS. Nebo jinak počkejte, než se soubor protokolu zobrazí po nějaké době a aktivitě webové aplikace. Webová aplikace bude pravidelně znovu načítat nastavení konfigurace ze souboru (mělo by to být během několika minut).
Reprodukujte problém a proveďte stejné akce nebo požadavky, které vedly k chybě.
Jestliže můžete zastavit fond aplikací:
- Zastavte fond aplikací.
- Načtěte soubor protokolu (možná budete muset počkat na dokončení procesů. Po zastavení fondu aplikací může dojít ke zpoždění).
Nebo jinak soubor protokolu otevřete pomocí editoru, který soubor nezamkne (například notepad.exe) a zkopíruje relevantní trasovací zprávy.
Otevřete soubor Web.config pomocí textového editoru a změňte
switchValuezpět naOffnebo na předchozí hodnotu.Pokud je fond aplikací zastavený, spusťte ho.
Zpracování chyb: Všechny operace služby vrací pole nebo kolekci chyb v
OperationResultobjektu zprávy odpovědi. Pokud dojde k chybě, pole chyb je také serializováno do XML a zapsáno do souboru protokolu webové aplikace pro určitáswitchValuenastavení, jak je popsáno výše.
Příklad chyby odpovědi rozhraní API, která byla zapsána do souboru protokolu:
MDS Error: 0 :
<ArrayOfError xmlns="http://schemas.microsoft.com/sqlserver/masterdataservices/2009/09" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Error>
<Code>110003</Code>
<Context>
<FullyQualifiedName>Model1</FullyQualifiedName>
<Identifier>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Name>Model1</Name> <InternalId>0</InternalId>
</Identifier>
<Type>Model</Type>
</Context>
<Description>The name already exists. Type a different name.</Description>
</Error>
</ArrayOfError>
DateTime=2009-12-10T20:48:05.6949548Z error object contents
Jak je znázorněno v předchozím příkladu, každá chyba obsahuje následující vlastnosti dat:
| Vlastnictví | Popis |
|---|---|
| Code | Jedinečné číslo chyby identifikující typ chyby |
| Popis | Lokalizovaný text chybové zprávy |
| Context.FullyQualifiedName | Plně kvalifikovaný název objektu zapojeného do chyby. Některé názvy jsou v kontextu jedinečné. Entita by byla kvalifikovaná s předponou názvu modelu, například ModelName: EntityName |
| Context.Typ | Typ objektu zapojeného do chyby |
| Context.Identifier | Identifikátor objektu zapojeného do chyby |
| Context.Identifier.Id | Jedinečný identifikátor GUID objektu, pokud je zadaný nebo dostupný |
| Context.Identifikátor.Název | Název objektu, pokud je zadaný nebo dostupný |
| Context.Identifier.InternalId | Zastaralé – nepoužívejte |
Trasování problémů s vytvářením databáze MDS
Pomocí následujícího postupu můžete vytvořit soubor protokolu, který může pomoct při řešení potíží se selháními, ke kterým může dojít při vytváření databáze MDS:
Otevřete soubor MDSConfigTool.exe.config v cestě C:\Program Files\Microsoft SQL Server\Master Data Services\Configuration pomocí notepad.exe.
Odkomentujte následující řádek v souboru odstraněním znaků na konci tohoto řádku.
<add name="LogFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="MdsConfigManagerTrace.log" traceOutputOptions="DateTime"/>Ujistěte se, že nastavení
switchValuemá hodnotuAll.<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="All">Zkuste databázi vytvořit znovu. Potom otevřete soubor MdsConfigManagerTrace.log , který je uložen do složky C:\Program Files\Microsoft SQL Server\Master Data Services\Configuration a zkontrolujte stejné informace týkající se selhání.