sys.dm_exec_requests (języka Transact-SQL)
Zwraca informacje dotyczące każdego wniosku, który jest wykonywany w ramach SQL Server.
Ostrzeżenie
Aby wykonać kod, który znajduje się poza SQL Server (na przykład rozszerzonych procedur przechowywanych i kwerendami rozproszonymi), wątek ma wykonać poza kontrolą - cenią sobie wcześniejsze harmonogram.Aby to zrobić, pracownik Przełącza tryb cenią sobie wcześniejsze.Wartości czasu zwracanych przez ten dynamiczny widok zarządzania nie obejmują czas pracy w trybie cenią sobie wcześniejsze.
Nazwa kolumny |
Typ danych |
Opis |
---|---|---|
session_id |
smallint |
Identyfikator sesja , do którego odnosi się to żądanie.Nie jest nullable. |
request_id |
int |
Identyfikator żądania.Unikatowa w kontekście sesja.Nie jest nullable. |
start_time |
datetime |
Sygnatura czasowa nadeszło żądanie.Nie jest nullable. |
status |
nvarchar(30) |
Stan żądania.Może to być z następujących czynności:
Nie jest nullable. |
command |
nvarchar(16) |
Identyfikuje bieżący typ polecenia, który jest przetwarzana.Typowe typy polecenia:
Tekst wniosku mogą być pobierane za pomocą sys.dm_exec_sql_text z odpowiednimi sql_handle dla żądania.Wewnętrzny system przetwarza zestaw polecenia na podstawie typu zadania, które wykonują.Zadania mogą być następujące:
Nie jest nullable. |
sql_handle |
varbinary(64) |
Mapa mieszania tekstu SQL żądania.Jest nullable. |
statement_start_offset |
int |
Liczba znaków do aktualnie wykonywanego partia lub procedura składowana w którym rozpoczyna się obecnie wykonywanie instrukcja .Mogą być używane razem z sql_handle, statement_end_offsetoraz sys.dm_exec_sql_text funkcja dynamicznego zarządzania pobierania aktualnie instrukcja dla żądania.Jest nullable. |
statement_end_offset |
int |
Liczba znaków do aktualnie wykonywanego partia lub procedura składowana w którym kończy się obecnie wykonywanie instrukcja .Mogą być używane razem z sql_handle, statement_end_offsetoraz sys.dm_exec_sql_text funkcja dynamicznego zarządzania pobierania aktualnie instrukcja dla żądania.Jest nullable. |
plan_handle |
varbinary(64) |
Mapa mieszania planu wykonywanie kodu SQL .Jest nullable. |
database_id |
smallint |
Identyfikator żądania bazy danych jest wykonywana przed.Nie jest nullable. |
user_id |
int |
Identyfikator użytkownika, który przesłał żądanie.Nie jest nullable. |
connection_id |
uniqueidentifier |
Identyfikator połączenia, na którym nadeszło żądanie.Jest nullable. |
blocking_session_id |
smallint |
Identyfikator sesja , która blokuje żądania.Jeśli ta kolumna ma wartość NULL, żądanie nie jest zablokowany lub informacje o sesja blokowanie sesja nie jest dostępna (lub nie można zidentyfikować). -2 = Blokowanie oddzielonych transakcja rozproszonajest właścicielem zasób . -3 = Blokowanie transakcji odroczonego odzyskiwanie jest właścicielem zasób . -4 = ID sesji blokowania zatrzaśnięcie właściciela nie można określić w tym czas z powodu przejścia wewnętrznego zatrzaśnięcie stanów. |
wait_type |
nvarchar(60) |
Jeśli żądanie jest obecnie zablokowany, w tej kolumna zwraca typ oczekiwania.Jest nullable. |
wait_time |
int |
Jeśli żądanie jest obecnie zablokowany, w tej kolumna zwraca czas trwania (w milisekundach) bieżącego oczekiwania.Nie jest nullable. |
last_wait_type |
nvarchar(60) |
Jeśli wcześniej został zablokowany to żądanie, w tej kolumna zwraca typ ostatniego oczekiwania.Nie jest nullable. |
wait_resource |
nvarchar(256) |
Jeśli żądanie jest obecnie zablokowany, w tej kolumna zwraca zasób , dla którego aktualnie oczekuje żądanie.Nie jest nullable. |
open_transaction_count |
int |
Liczba transakcji, które są otwarte dla tego żądania.Nie jest nullable. |
open_resultset_count |
int |
Liczba zestawów wyników, które są otwarte dla tego żądania.Nie jest nullable. |
transaction_id |
bigint |
Identyfikator transakcji, w którym wykonuje się to żądanie.Nie jest nullable. |
context_info |
varbinary(128) |
Wartość CONTEXT_INFO sesja.Jest nullable. |
percent_complete |
real |
Procent pracy wykonanej dla następujących poleceń:
Nie jest nullable. |
estimated_completion_time |
bigint |
Tylko do wewnętrznego.Nie jest nullable. |
cpu_time |
int |
Procesor czas w milisekundach używanego przez żądania.Nie jest nullable. |
total_elapsed_time |
int |
Całkowity czas w milisekundach, który upłynął od nadeszło żądanie.Nie jest nullable. |
scheduler_id |
int |
Identyfikator harmonogramu, że planowanie tego żądania.Nie jest nullable. |
task_address |
varbinary(8) |
Adres pamięci przydzielone do zadania skojarzonego z tym żądaniem.Jest nullable. |
reads |
bigint |
Liczba odczytów wykonywanych przez tego żądania.Nie jest nullable. |
writes |
bigint |
Liczba zapisów wykonywane przez dane żądanie.Nie jest nullable. |
logical_reads |
bigint |
Liczba odczytów logiczne, wykonywane przez żądanie.Nie jest nullable. |
text_size |
int |
Ustawienie TEXTSIZE dla tego żądania.Nie jest nullable. |
language |
nvarchar(128) |
Ustawienie języka dla żądania.Jest nullable. |
date_format |
nvarchar(3) |
Ustawienie format daty dla żądania.Jest nullable. |
date_first |
smallint |
Ustawienie DATEFIRST żądania.Nie jest nullable. |
quoted_identifier |
bit |
1 = QUOTED_IDENTIFIER jest włączone dla żądania.W przeciwnym razie jest 0. Nie jest nullable. |
arithabort |
bit |
1 = ARITHABORT ustawienie jest włączone dla żądania.W przeciwnym razie jest 0. Nie jest nullable. |
ansi_null_dflt_on |
bit |
1 = ANSI_NULL_DFLT_ON ustawienie jest włączone dla żądania.W przeciwnym razie jest 0. Nie jest nullable. |
ansi_defaults |
bit |
1 = ANSI_DEFAULTS ustawienie jest włączone dla żądania.W przeciwnym razie jest 0. Nie jest nullable. |
ansi_warnings |
bit |
1 = ANSI_WARNINGS ustawienie jest włączone dla żądania.W przeciwnym razie jest 0. Nie jest nullable. |
ansi_padding |
bit |
1 = Spowodowałyby ustawienie jest włączone dla żądania. W przeciwnym razie jest 0. Nie jest nullable. |
ansi_nulls |
bit |
1 = ANSI_NULLS ustawienie jest włączone dla żądania.W przeciwnym razie jest 0. Nie jest nullable. |
concat_null_yields_null |
bit |
1 = CONCAT_NULL_YIELDS_NULL ustawienie jest włączone dla żądania.W przeciwnym razie jest 0. Nie jest nullable. |
transaction_isolation_level |
smallint |
Izolacja poziom z którą tworzona jest transakcja dla tego żądania.Nie jest nullable. |
lock_timeout |
int |
Blokowanie czas-poza okres w milisekundach dla tego żądania.Nie jest nullable. |
deadlock_priority |
int |
Ustawienie DEADLOCK_PRIORITY dla żądania.Nie jest nullable. |
row_count |
bigint |
Liczba wierszy, które zostały zwrócone do klient przez dane żądanie.Nie jest nullable. |
prev_error |
int |
Ostatni błąd wystąpił podczas wykonywania żądania.Nie jest nullable. |
nest_level |
int |
Bieżący zagnieżdżania poziom kodu, który jest wykonywany na żądanie.Nie jest nullable. |
granted_query_memory |
int |
Liczba stron przydzielone na wykonanie kwerendy na żądanie.Nie jest nullable. |
executing_managed_code |
bit |
Wskazuje, czy określone żądanie jest w trakcie wykonywania wspólnej obiekty obsługi języka, takie jak procedur, typów i wyzwalaczy.Jest zestaw dla pełnego czas wspólne obiektu wykonawczego języka jest na stosie, nawet podczas pracy Transact-SQL z w ramach wspólnej obsługi języka.Nie jest nullable. |
group_id |
int |
Identyfikator grupa obciążenia , do której należy ta kwerenda.Nie jest nullable. |
query_hash |
binary(8) |
Wartość mieszania binarne obliczona na tej kwerendzie i służy do identyfikowania kwerend w logice podobne.Mieszanie kwerend służy do ustalania wartość zagregowanaobciążeniezasób dla kwerend, które różnią się tylko wartości literałów. Aby uzyskać więcej informacji, zobacz Znajdowanie i dostrajania podobnych kwerend za pomocą kwerendy i kwerendy Plan mieszania. |
query_plan_hash |
binary(8) |
Wartość mieszania binarne obliczone na plan wykonania kwerend i służy do identyfikowania planów wykonywanie podobnych kwerend.Mieszanie planu kwerend służy do znajdowania koszt skumulowany kwerend z podobnych wykonanie planów.Aby uzyskać więcej informacji, zobacz Znajdowanie i dostrajania podobnych kwerend za pomocą kwerendy i kwerendy Plan mieszania. |
Uprawnienia
Wymaga uprawnienia Wyświetlanie stanu serwera na serwerze.
Ostrzeżenie
Jeśli użytkownik ma uprawnienie WYŚWIETL stan serwera na serwerze, użytkownik będzie widział nakaz wszystkie sesje na wystąpienie SQL Server; w przeciwnym razie użytkownik zobaczy tylko w bieżącej sesja.
Przykłady
A.Znajdowanie tekstu kwerendy dla uruchomionego partia
W następujących przykładowych kwerendach sys.dm_exec_requests Aby znaleźć interesujące kwerendy i kopia jego sql_handle z danych wyjściowych.
SELECT * FROM sys.dm_exec_requests;
GO
Następnie, aby uzyskać tekst instrukcja , użyj skopiowane sql_handle z systemu, funkcja sys.dm_exec_sql_text(sql_handle).
SELECT * FROM sys.dm_exec_sql_text(< copied sql_handle >);
GO
B.Znajdowanie wszystkich blokad, które gospodarstwo uruchamianie partia
W następujących przykładowych kwerendach sys.dm_exec_requests Aby znaleźć interesujące partia i kopia jego transaction_id z danych wyjściowych.
SELECT * FROM sys.dm_exec_requests;
GO
Następnie, aby znaleźć informacje o blokada , użyć skopiowanego transaction_id z systemu funkcja sys.dm_tran_locks.
SELECT * FROM sys.dm_tran_locks
WHERE request_owner_type = N'TRANSACTION'
AND request_owner_id = < copied transaction_id >;
GO
C.Znajdowanie wszystkich obecnie zablokowane żądania
W następujących przykładowych kwerendach sys.dm_exec_requests Aby znaleźć informacje o zablokowanych żądań.
SELECT session_id ,status ,blocking_session_id
,wait_type ,wait_time ,wait_resource
,transaction_id
FROM sys.dm_exec_requests
WHERE status = N'suspended';
GO
Zobacz także