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.
Profiler zapytań w rozszerzeniu MSSQL dla programu Visual Studio Code umożliwia przechwytywanie i monitorowanie aktywności bazy danych w czasie rzeczywistym bezpośrednio w edytorze. Napędzane przez zdarzenia rozszerzone, Profiler zapytań zapewnia monitorowanie wydajności o niskim obciążeniu, które ułatwia szybkie obserwowanie aktywności języka T-SQL na żywo, identyfikowanie wolnych operacji i wykrywanie wąskich gardeł wydajności podczas tworzenia.
Narzędzie Query Profiler obsługuje program SQL Server (lokalnie lub w środowiskach chmury prywatnej i publicznej) oraz usługę Azure SQL Database. Aktywne sesje można monitorować, przeglądać szczegóły wykonywania i rozumieć, jak aplikacja wchodzi w interakcję z bazą danych podczas programowania i testowania bez przełączania się między narzędziami do monitorowania a edytorem.
Wskazówka
Profiler zapytań jest obecnie w wersji zapoznawczej i może ulec zmianie na podstawie opinii. Dołącz do naszej społeczności w dyskusjach usługi GitHub , aby podzielić się pomysłami lub zgłaszać problemy.
Funkcje
Narzędzie Query Profiler w rozszerzeniu MSSQL zapewnia następujące możliwości:
- Przechwyć działanie zapytań i bazy danych w czasie rzeczywistym w siatce zdarzeń na żywo.
- Skonfiguruj nowe sesje profilowania przy użyciu wyboru szablonu i nazewnictwa sesji.
- Kontrolowanie cyklu życia sesji za pomocą akcji Uruchamianie, Wstrzymywanie, Wznawianie, Zatrzymywanie i Czyszczenie danych .
- Uruchamianie wielu współbieżnych sesji profilowania i przełączanie się między nimi za pomocą selektora sesji.
- Filtruj przechwycone zdarzenia według tekstu, nazwy bazy danych, czasu trwania i innych pól.
- Przełącz automatyczne przewijanie, aby śledzić najnowsze zdarzenia lub sprawdzać starsze wpisy.
- Eksportowanie przechwyconych zdarzeń do pliku CSV.
- Otwórz i wyświetl istniejące
.xelpliki w siatce profilera w trybie tylko do odczytu. - Automatycznie wybierz odpowiedni szablon dla elementów docelowych usługi Azure SQL Database (
Standard_Azure). - Działa na systemach Windows, macOS i Linux na wszystkich obsługiwanych platformach programu Visual Studio Code.
Wymagania wstępne
- Zainstaluj najnowszą wersję rozszerzenia MSSQL dla programu Visual Studio Code.
- Aktywne połączenie z obsługiwanym wystąpieniem programu SQL Server lub usługą Azure SQL Database.
- Odpowiednie uprawnienia serwera. Aby rozpocząć sesję profilowania, musisz mieć uprawnienie
ALTER ANY EVENT SESSION(lub równoważne).
Uruchamianie profilera zapytań
Możesz uruchomić profilera zapytań z widoku Połączenia lub palety poleceń.
W widoku Połączenia:
W widoku Połączenia kliknij prawym przyciskiem myszy instancję SQL Server.
Wybierz pozycję Uruchom profilera zapytań (wersja zapoznawcza).
Z palety poleceń:
Otwórz paletę poleceń (Ctrl+Shift+P lub Cmd+Shift+P).
Wybierz pozycję MSSQL: uruchom profilera zapytań.
Jeśli połączenie nie jest obecnie aktywne, wybierz połączenie po wyświetleniu monitu.
Otwiera się panel Profilera zapytań powiązany z wybranym połączeniem.
Tworzenie sesji profilowania
Po otwarciu panelu Profilera zapytań bez aktywnej sesji zostanie wyświetlony ekran Nowa sesja .
Sprawdź lub zmień połączenie dla sesji profilowania.
Wybierz szablon z listy rozwijanej. Dostępne szablony zależą od celu połączenia:
- Standard_OnPrem: standardowy szablon profilowania dla lokalnego programu SQL Server.
- TSQL_OnPrem: szablon profilowania języka T-SQL dla lokalnego programu SQL Server.
- TSQL_Locks: szablon profilowania języka T-SQL z zdarzeniami blokady dla lokalnego programu SQL Server.
- TSQL_Duration: filtrowanie szablonu profilowania języka T-SQL według czasu trwania dla lokalnego programu SQL Server.
- Standard_Azure: standardowy szablon profilowania dla usługi Azure SQL Database.
Uwaga / Notatka
Po wybraniu usługi Azure SQL Database jako elementu docelowego rozszerzenie automatycznie wybierze
Standard_Azureszablon. Jeśli dostępny jest tylko jeden prawidłowy szablon, rozszerzenie wybiera go automatycznie lub wyświetla jako tekst tylko do odczytu.Wprowadź nazwę sesji. Naciśnij klawisz Enter, aby potwierdzić lub klawisz Escape , aby anulować.
Panel przechodzi do widoku zdarzeń na żywo, a sesja profilera jest tworzona za pośrednictwem usługi SQL Tools.
Monitorowanie wydarzeń na żywo
Podczas uruchamiania sesji profilowania siatka zdarzeń strumieniuje przechwycone zdarzenia w kolejności chronologicznej. Tabela wyświetla następujące kolumny na podstawie wybranego szablonu.
-
EventClass: typ przechwyconego zdarzenia, na przykład
sql_batch_startinglubrpc_completed. - TextData: instrukcja T-SQL lub tekst zdarzenia.
- ApplicationName: aplikacja, która wygenerowała zdarzenie.
- LoginName: identyfikator logowania skojarzony ze zdarzeniem.
- ClientProcessID: identyfikator procesu klienta.
- SPID: identyfikator procesu serwera.
- StartTime: sygnatura czasowa zdarzenia.
- CPU: wykorzystany czas CPU.
- Odczyty: liczba odczytów logicznych.
- Zapisy: liczba zapisów logicznych.
- Czas trwania: czas wykonywania zdarzenia.
- DatabaseName: baza danych, w której wystąpiło zdarzenie.
- HostName: maszyna hosta, która wygenerowała zdarzenie.
Akcje paska narzędzi
Pasek narzędzi udostępnia następujące kontrolki dla aktywnej sesji:
| Akcja | Opis |
|---|---|
| Nowa sesja | Otwiera nowy przepływ sesji, aby utworzyć kolejną sesję profilowania. |
| Rozpocznij | Wznawia przesyłanie strumieniowe zdarzeń dla wstrzymanej lub zatrzymanej sesji. |
| Zatrzymaj | Zatrzymuje sesję profilowania. Nie są dostarczane żadne nowe zdarzenia, ale przechwycone zdarzenia pozostają widoczne do przeglądania, filtrowania i eksportowania. |
| Wstrzymaj | Tymczasowo zatrzymuje aktualizowanie siatki. W interfejsie użytkownika jest wyświetlany wskaźnik Wstrzymano . |
| Wyczyść dane | Czyści wszystkie wiersze z tabeli bieżącej sesji. Jeśli sesja jest nadal uruchomiona, nowe zdarzenia nadal wypełniają siatkę. |
| Wyczyść wszystkie filtry | Usuwa wszystkie aktywne filtry kolumn i przywraca pełny widok zdarzeń. |
| Szybkie filtrowanie wszystkich kolumn... | Wyszukuje we wszystkich kolumnach, aby szybko znaleźć pasujące zdarzenia. |
| Eksportowanie do pliku CSV | Eksportuje przechwycone zdarzenia bieżącej sesji do pliku CSV. |
| Automatyczne przewijanie | Przełącza, czy siatka przewija się do ostatniego wiersza po nadejściu nowych zdarzeń. Automatyczne przewijanie jest domyślnie włączone dla nowych sesji. |
Filtrowanie zdarzeń
Użyj filtrów kolumn, aby zawęzić siatkę zdarzeń i skoncentrować się na odpowiednim działaniu. Każdy nagłówek kolumny zawiera ikonę filtru, która otwiera filtr specyficzny dla typu danych tej kolumny.
Filtruj według wartości kolumn (na przykład DatabaseName lub ApplicationName)
Wybierz ikonę filtru w nagłówku kolumny, na przykład
DatabaseName.Na liście rozwijanej filtru użyj pola wyszukiwania, aby zlokalizować wartości, lub zaznacz i usuń zaznaczenie określonych wpisów z listy pól wyboru.
Wybierz pozycję Zastosuj , aby filtrować siatkę. Wybierz pozycję Wyczyść , aby usunąć filtr dla tej kolumny.
Filtruj według wartości liczbowych (na przykład Duration)
Wybierz ikonę filtru w kolumnie liczbowej, takiej jak
Duration.Wybierz operator porównania (na przykład
=, ,><) i wprowadź próg liczbowy.Wybierz pozycję Zastosuj , aby filtrować siatkę.
Gdy jeden lub więcej filtrów jest aktywnych, elementy filtrowania pojawiają się poniżej paska narzędzi, wskazując, które kolumny są filtrowane. Wybierz przycisk X na chipie, aby usunąć ten filtr, lub wybierz pozycję Wyczyść wszystkie filtry na pasku narzędzi, aby zresetować wszystkie filtry jednocześnie.
Uwaga / Notatka
Filtry są stosowane po stronie klienta zarówno do aktualnie wyświetlanych zdarzeń, jak i nowych zdarzeń przesyłanych strumieniowo podczas sesji.
Zarządzanie wieloma sesjami
Program Query Profiler obsługuje równoczesne uruchamianie wielu sesji profilowania, z których każdy ma własne połączenie, szablon i bufor zdarzeń.
Wybierz pozycję Nowa sesja na pasku narzędzi, aby utworzyć kolejną sesję. Nowa sesja może być skierowana do tego samego lub innego połączenia.
Użyj listy rozwijanej Selektor sesji , aby przełączać się między sesjami. Każda sesja wyświetla swój stan (Uruchomione, Wstrzymane lub Zatrzymane) za pomocą wskaźnika wizualnego.
Podczas przełączania sesji:
- Siatka zdarzeń jest aktualizowana, aby pokazać zdarzenia przechwycone podczas wybranej sesji.
- Akcje paska narzędzi działają w wybranej sesji.
Eksportowanie przechwyconych zdarzeń
Przechwycone zdarzenia można wyeksportować z sesji profilowania do pliku CSV w celu przeglądu lub udostępniania w trybie offline.
Wybierz pozycję Eksportuj do pliku CSV na pasku narzędzi. Eksportowanie jest dostępne niezależnie od tego, czy sesja jest uruchomiona, wstrzymana, czy zatrzymana.
Wybierz lokalizację i nazwę pliku CSV.
Wyeksportowany plik zawiera zdarzenia widoczne obecnie w siatce sesji.
Otwieranie istniejącego pliku XEL
Możesz otworzyć i przejrzeć wcześniej przechwycone pliki śledzenia zdarzeń rozszerzonych (.xel) w siatce Profilera Zapytania.
Otwórz paletę poleceń (Ctrl+Shift+P lub Cmd+Shift+P).
Wybierz MSSQL: Otwórz plik profilera XEL....
Przejdź do pliku
.xeli wybierz go, aby otworzyć.
Plik otwiera się w panelu profilera w trybie tylko do odczytu. Zdarzenia są ładowane i wyświetlane w tej samej siatce z funkcjami filtrowania. Kontrolki Uruchamiania, Wstrzymywania i Zatrzymywania nie są dostępne, ponieważ plik nie jest sesją na żywo.
Obsługiwane scenariusze
Narzędzie Query Profiler współpracuje z następującymi elementami docelowymi programu SQL Server i usługą Azure SQL:
| Target | Obsługiwane szablony |
|---|---|
| SQL Server (lokalne, maszyny wirtualne, kontenery) | Standard_OnPrem, TSQL_OnPrem, TSQL_Locks, TSQL_Duration |
| Azure SQL Database | Standard_Azure |
Uwaga / Notatka
Jeśli wybierzesz nieobsługiwany szablon lub spróbujesz sesji na poziomie serwera w usłudze Azure SQL Database, program Query Profiler wyświetli docelowy komunikat o błędzie i sugeruje odpowiedni szablon.
Ograniczenia
- Brak integracji sztucznej inteligencji ani usługi GitHub Copilot w tej wersji zapoznawczej.
- Brak korelacji między bazami danych ani między serwerami poza tymi zapewnianymi przez Zdarzenia Rozszerzone i bieżące szablony.
- Brak zapisywania ani ładowania ustawień wstępnych filtru.
- Brak odtwarzania śladów ani generowania skryptów z przechwyconych zdarzeń.
- Brak analizy offline bez istniejącego
.xelpliku lub połączenia na żywo. - Usługa Azure SQL Managed Instance oraz baza danych SQL w ramach punktów końcowych Fabric nie mają gwarantowanego wsparcia w tej wersji zapoznawczej.
Opinie i wsparcie
Jeśli masz pomysły, opinie lub chcesz zaangażować się w społeczność, dołącz do dyskusji na stronie https://aka.ms/vscode-mssql-discussions. Aby zgłosić usterkę, odwiedź stronę https://aka.ms/vscode-mssql-bug. Aby zażądać nowej funkcji, przejdź do strony https://aka.ms/vscode-mssql-feature-request.
Treści powiązane
- Szybki start: nawiązywanie połączenia z bazą danych i wykonywanie zapytań względem bazy danych za pomocą rozszerzenia MSSQL dla programu Visual Studio Code
- Rozszerzenie GitHub Copilot for MSSQL dla programu Visual Studio Code
- Projektant schematu
- Porównanie schematów
- Dokumentacja programu Visual Studio Code
- Rozszerzenie MSSQL dla repozytorium programu Visual Studio Code w witrynie GitHub