Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server na systemie Windows
Azure SQL Managed Instance
Ważne
Usługi master Data Services (MDS) są usuwane w programie SQL Server 2025 (17.x). Nadal obsługujemy usługi MDS w programie SQL Server 2022 (16.x) i starszych wersjach.
Po zainstalowaniu usługi Master Data Services (MDS) możesz znaleźć funkcję rejestrowania śledzenia przydatną dla diagnostyki błędów, żądań pomocy technicznej i monitorowania użycia i wydajności aplikacji. W tym artykule opisano kroki włączania i konfigurowania rejestrowania śledzenia. W szczególności w tym artykule opisano śledzenie pliku dziennika tekstowego. W tym artykule omówiono również procedurę tworzenia pliku dziennika, który może pomóc w rozwiązywaniu problemów z błędami, które mogą wystąpić podczas tworzenia bazy danych MDS.
Kontekst
Master Data Services składa się z aplikacji internetowej ASP.NET (Master Data Manager) i usługi WCF; oba są hostowane w usługach IIS i bazie danych programu SQL Server. Żądania głównego menedżera danych i wywołania zewnętrzne do punktu końcowego interfejsu API usług internetowych są obsługiwane przez wspólną warstwę usługi. Warstwa usługi może rejestrować każde żądanie/odpowiedź operacji, ważne zdarzenia i błędy.
Jako administrator z dostępem do plików na serwerze internetowym usług IIS możesz włączyć rejestrowanie, modyfikując plik Web.config MDS.
Domyślnie plik Web.config znajduje się w jednym z następujących folderów aplikacji internetowych:
SQL Server 2008 R2: program_files\Microsoft SQL Server\Master Data Services\WebApplication
SQL Server 2012 i nowsze wersje: program_files\Microsoft SQL Server\<nnn>\Master Data Services\WebApplication
Liczby nnn w ścieżce odpowiadają instalowanej wersji programu SQL Server. W poniższej tabeli przedstawiono wersje ścieżek:
| wersja | nnn |
|---|---|
| SQL Server 2019 | 150 |
| SQL Server 2017 | 140 |
| SQL Server 2016 | 130 |
| SQL Server 2014 | 120 |
| SQL Server 2012 | 110 |
Ostrzeżenie
Aktualizacja Web.config spowoduje ponowne uruchomienie domeny aplikacji MDS w IIS. Istniejące sesje użytkownika utracą buforowane informacje, a użytkownicy mogą napotkać błędy sesji lub wolne ładowanie stron. W miarę możliwości przeprowadź zmiany poza godzinami szczytu.
Śledzenie logów dla aplikacji internetowej MDS
SQL Server 2016 i nowsze wersje
Plik Web.config zawiera sekcję śledzenia, jak pokazano poniżej. Ta sekcja została wprowadzona w usługach sql Server 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>
Poniżej przedstawiono domyślne zachowanie śledzenia:
Śledzenie jest włączone dla komunikatów
WarningiActivityTracing.Aby uzyskać więcej informacji, zobacz SourceLevels Enumeration.
Dzienniki są zapisywane w folderze Logs w folderze WebApplication . Domyślną lokalizacją jest C:\Program Files\Microsoft SQL Server\nnn\Master Data Services\WebApplication\Logs.
Plik jest tworzony dla każdego dnia lub co 10 MB.
Gdy rozmiar katalogu osiągnie 200 MB, najstarszy dziennik zostanie usunięty.
Format dziennika to CSV. W poniższej tabeli opisano format dziennika:
Składnik Opis Czas Gdy następuje wpis do dziennika śledzenia Identyfikator korelacji Jeden identyfikator korelacji jest przypisywany dla każdego żądania. Wszystkie ślady wyzwalane przez to żądanie będą współdzielić ten sam identyfikator korelacji.
Gdy w interfejsie użytkownika wystąpi błąd, identyfikator korelacji pojawia się w komunikacie o błędzieOperacja Nazwa operacji żądania. Jeśli żądanie jest żądaniem internetowego interfejsu użytkownika, nazwa operacji to adres URL. Jeśli żądanie jest żądaniem interfejsu API, nazwa operacji to nazwa usługi poziom Poziom tego zapisu śledzenia Komunikat Treść komunikatu śledzenia
SQL Server 2014 i starsze wersje
Sekcja diagnostyczna z pliku Web.config pierwotnie zainstalowanego
Poniższy fragment kodu pliku przedstawia sekcję diagnostyki z pierwotnie zainstalowanego pliku Web.config .
Uwaga / Notatka
switchValue jest ustawiony na Off. Ponadto przykładowe wiersze są komentowane. Te wiersze to przykłady dodawania odbiorników śledzenia różnych typów.
<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>
Włączanie śledzenia plików dziennika
Aby włączyć rejestrowanie, zmień switchValue wartość na All lub inną prawidłową wartość, jak opisano poniżej w tabeli 1. Aby włączyć dane wyjściowe do pliku dziennika, usuń oznaczenie komentarza z wiersza LogFileListener, jak pokazano w poniższym fragmencie pliku:
<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>
Tabela 1 — ustawienia SwitchValue na potrzeby rejestrowania
| Ustawienia | Co jest rejestrowane |
|---|---|
| Wyłączony | nic |
| Błąd | tylko błędy |
| Ostrzeżenie | błędy i ostrzeżenia |
| Informacja | błędy, ostrzeżenia, komunikaty informacyjne |
| Pełne informacje | "Informacje" i inne informacje dotyczące śledzenia debugowania, w tym żądania interfejsu API i odpowiedzi w formacie XML |
| Śledzenie Aktywności | uruchamianie i zatrzymywanie tylko zdarzeń |
| Wszystko | "Pełne" i "ActivityTracing" |
Nazwa i ścieżka pliku
Wartość initializeData jest nazwą pliku dziennika. Można go zmodyfikować na inną nazwę lub dołączyć żądaną ścieżkę. Jeśli ścieżka nie zostanie określona, plik zostanie domyślnie ustawiony na ścieżkę katalogu aplikacji internetowej (gdzie znajduje sięWeb.config ).
Ważne
Konto usługi dla puli aplikacji MDS musi mieć uprawnienia do zapisu w lokalizacji pliku dziennika.
Poziom szczegółowości rejestrowania
W poniższej tabeli 2 opisano kategorie zdarzeń śledzenia, które mogą być rejestrowane lub sortowane przy użyciu najważniejszych/krytycznych zdarzeń u góry.
W powyższej tabeli 1 wymieniono prawidłowe ustawienia rejestrowania switchValue. To ustawienie można dostosować, aby utworzyć odpowiednią ilość szczegółów rejestrowania, aby dopasować je do sytuacji.
Tabela 2 — typy zdarzeń rejestrowania usługi MDS
| Typ zdarzenia | Opis |
|---|---|
| Krytyczny | błąd krytyczny lub awaria aplikacji |
| Błąd | błąd możliwy do odzyskania |
| Ostrzeżenie | niekrytyczny problem |
| Informacja | komunikat informacyjny |
| Pełne informacje | komunikat śledzenia błędów |
| Rozpocznij | rozpoczynanie operacji logicznej |
| Zatrzymaj | zatrzymywanie operacji logicznej |
Zalecenia dotyczące ustawień dziennika
- Dla normalnej pracy użyj ustawienia
Off, aby całkowicie uniknąć rejestrowania lub użyj ustawieniaErrorlubWarning, które utrzymają mały rozmiar dziennika, jednocześnie informując administratorów o problemach. - Użyj ustawienia
Allw sytuacjach pomocy technicznej/rozwiązywania problemów. - Służy
ActivityTracingdo pomiaru wydajności lub monitorowania użycia. - Użyj
Informationtylko wtedy, gdy jest przygotowany do okresowego sprawdzania i czyszczenia dzienników. Dzienniki mogą być długie z tym ustawieniem. To ustawienie jest przydatne do śledzenia użycia i wzorców korzystania. - Nie używaj
VerboseaniAllw normalnych warunkach operacyjnych, ponieważ ilość zarejestrowanych danych negatywnie wpłynie na wydajność.
Kroki tworzenia pliku dziennika na potrzeby pomocy technicznej dotyczącej produktu
W sytuacjach, gdy wystąpi nieoczekiwany błąd i wymagana jest dalsza diagnostyka, warto utworzyć plik dziennika, który śledzi zdarzenia prowadzące do problemu wraz z żądaniami obsługi i odpowiedziami.
Aby utworzyć zwięzły i przydatny plik dziennika, wykonaj następujące kroki:
Ostrzeżenie
Aktualizacja Web.config spowoduje ponowne uruchomienie domeny aplikacji MDS w IIS.
Jeśli to możliwe, zatrzymaj pulę aplikacji MDS w Menedżerze usług IIS.
Ostrzeżenie
Zrób to tylko wtedy, gdy aplikacja może zostać wyłączona.
Jeśli to możliwe, przenieś lub usuń bieżący plik dziennika (jeśli już istnieje).
Otwórz plik Web.config przy użyciu edytora tekstów.
Uwaga / Notatka
Domyślnie plik Web.config znajduje się w jednym z następujących folderów aplikacji internetowych:
- 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
Znajdź sekcję
system.diagnostics.switchValueZmień wartość naAlllubActivityTracingi usuń komentarz w wierszu pliku dziennika, jak pokazano w sekcji Włączanie śledzenia plików dziennika w tym artykule.- Użyj
switchValue="All"do diagnostyki błędów. - Użyj
switchValue="ActivityTracing"do diagnostyki wydajności. - W razie potrzeby nazwę pliku MdsTrace.log można prefiksować ścieżką.
- Użyj
Jeśli pula aplikacji została wcześniej zatrzymana, uruchom pulę aplikacji MDS w usługach IIS. Możesz też poczekać, aż plik dziennika pojawi się po pewnym czasie i aktywności aplikacji internetowej. Aplikacja internetowa okresowo ponownie ładuje ustawienia konfiguracji z pliku (powinno to potrwać w ciągu kilku minut).
Odtwórz problem i wykonaj te same akcje lub żądania, które doprowadziły do błędu.
Jeśli możesz zatrzymać pulę aplikacji:
- Zatrzymaj pulę aplikacji.
- Pobierz plik dziennika (może być konieczne oczekiwanie na zakończenie procesów; może wystąpić opóźnienie po zatrzymaniu puli aplikacji).
Możesz też otworzyć plik dziennika przy użyciu edytora, który nie blokuje pliku (na przykład notepad.exe) i skopiuj odpowiednie komunikaty śledzenia.
Otwórz plik Web.config przy użyciu edytora tekstów i zmień go
switchValuez powrotem naOfflub poprzednią wartość.Ponownie uruchom pulę aplikacji, jeśli została zatrzymana.
Obsługa błędów: Wszystkie operacje usługi zwracają tablicę lub kolekcję błędów w
OperationResultobiekcie komunikatu odpowiedzi. W przypadku wystąpienia błędu tablica błędów jest również serializowana w formacie XML i zapisywana w pliku dziennika aplikacji internetowej dla niektórychswitchValueustawień, zgodnie z powyższym opisem.
Przykład błędu odpowiedzi interfejsu API, który został zapisany w pliku dziennika:
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 pokazano w powyższym przykładzie, każdy błąd zawiera następujące właściwości danych:
| Majątek | Opis |
|---|---|
| Code | Unikatowy numer błędu identyfikujący typ błędu |
| Opis | Zlokalizowany tekst komunikatu o błędzie |
| Context.FullyQualifiedName | W pełni kwalifikowana nazwa obiektu biorącego udział w błędzie. Niektóre nazwy są unikatowe tylko w ich kontekście. Obiekt będzie kwalifikowany prefiksem nazwy modelu, takim jak ModelName: EntityName |
| Kontekst.Typ | Typ obiektu biorącego udział w błędzie |
| Kontekst.Identyfikator | Identyfikator obiektu biorącego udział w błędzie |
| Context.Identifier.Id | Unikatowy identyfikator GUID obiektu, jeśli jest określony lub dostępny |
| Context.Identifier.Name | Nazwa obiektu, jeśli jest określona lub dostępna |
| Context.Identifier.InternalId | Przestarzałe — nie używaj |
Śledzenie problemów z tworzeniem bazy danych MDS
Poniższa procedura umożliwia utworzenie pliku dziennika, który może pomóc w rozwiązywaniu problemów z błędami, które mogą wystąpić podczas tworzenia bazy danych MDS:
Otwórz plik MDSConfigTool.exe.config w ścieżce C:\Program Files\Microsoft SQL Server\Master Data Services\Configuration przy użyciu notepad.exe.
Usuń komentarz z następującego wiersza w pliku, usuwając znaki sufiksu w tym wierszu:
<add name="LogFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="MdsConfigManagerTrace.log" traceOutputOptions="DateTime"/>Upewnij się, że parametr
switchValuejest ustawiony na wartośćAll.<source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="All">Spróbuj ponownie utworzyć bazę danych. Następnie otwórz plik MdsConfigManagerTrace.log zapisany w folderze C:\Program Files\Microsoft SQL Server\Master Data Services\Configuration i przejrzyj te same informacje dotyczące błędu.