Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Database w Microsoft Fabric
Zwraca obiekty pamięci aktualnie przydzielone przez SQL Server. Możesz sys.dm_os_memory_objects wykorzystać do analizy zużycia pamięci i identyfikacji możliwych wycieków pamięci.
Uwaga / Notatka
Aby wywołać to z Azure Synapse Analytics lub Analytics Platform System (PDW), użyj nazwy sys.dm_pdw_nodes_os_memory_objects. Ta składnia nie jest obsługiwana przez bezserwerową pulę SQL w usłudze Azure Synapse Analytics.
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
| memory_object_address | varbinary(8) | Adres obiektu pamięci. Nie jest nullowalny. |
| parent_address | varbinary(8) | Adres obiektu pamięci nadrzędnej. Jest dopuszczana wartość null. |
| pages_allocated_count | int |
Dotyczy: SQL Server 2008 (10.0.x) do programu SQL Server 2008 R2 (10.50.x). Liczba stron przydzielonych przez ten obiekt. Nie jest nullowalny. |
| pages_in_bytes | bigint |
Dotyczy: SQL Server 2012 (11.x) i nowsze. Ilość pamięci w bajtach przydzielana przez tę instancję obiektu pamięci. Nie jest nullowalny. |
| creation_options | int | Tylko do użytku wewnętrznego. Jest dopuszczana wartość null. |
| bytes_used | bigint | Tylko do użytku wewnętrznego. Jest dopuszczana wartość null. |
| type | nvarchar(60) | Typ obiektu pamięci. Wskazuje to na jakiś komponent, do którego należy obiekt pamięci, lub funkcję obiektu pamięci. Jest dopuszczana wartość null. |
| name | |
Tylko do użytku wewnętrznego. Nullable. |
| memory_node_id | smallint | ID węzła pamięci używanego przez ten obiekt pamięci. Nie jest nullowalny. |
| creation_time | datetime | Tylko do użytku wewnętrznego. Jest dopuszczana wartość null. |
| max_pages_allocated_count | int |
Dotyczy: SQL Server 2008 (10.0.x) do programu SQL Server 2008 R2 (10.50.x). Maksymalna liczba stron przydzielonych przez ten obiekt pamięci. Nie jest nullowalny. |
| page_size_in_bytes | int |
Dotyczy: SQL Server 2012 (11.x) i nowsze. Rozmiar stron w bajtach przydzielonych przez ten obiekt. Nie jest nullowalny. |
| max_pages_in_bytes | bigint | Maksymalna ilość pamięci kiedykolwiek używanej przez ten obiekt pamięci. Nie jest nullowalny. |
| page_allocator_address | varbinary(8) | Adres pamięci alokatora strony. Nie jest nullowalny. Więcej informacji można znaleźć w sys.dm_os_memory_clerks (Transact-SQL). |
| creation_stack_address | varbinary(8) | Tylko do użytku wewnętrznego. Jest dopuszczana wartość null. |
| sequence_num | int | Tylko do użytku wewnętrznego. Jest dopuszczana wartość null. |
| partition_type | int |
Dotyczy: SQL Server 2016 (13.x) i nowszych. Rodzaj partycji: 0 - Obiekt pamięci niepartycjonowalnej 1 - Obiekt pamięci partycjonowalnej, obecnie niepartycjonowany 2 - Obiekt pamięci partycjonowalnej, partycjonowany przez węzeł NUMA. W środowisku z jednym węzłem NUMA jest to równoważne 1. 3 - Obiekt pamięci partycjonowalnej, partycjonowany przez CPU. |
| contention_factor | prawdziwy |
Dotyczy: SQL Server 2016 (13.x) i nowszych. Wartość określająca sporność na tym obiekcie pamięci, gdzie 0 oznacza brak sporu. Wartość ta jest aktualizowana za każdym razem, gdy określona liczba alokacji pamięci została wykonana w tym okresie, odzwierciedlając spory. Dotyczy tylko obiektów pamięci bezpiecznych dla wątków. |
| waiting_tasks_count | bigint |
Dotyczy: SQL Server 2016 (13.x) i nowszych. Liczba oczekiwaniów na ten obiekt pamięci. Licznik ten jest zwiększany za każdym razem, gdy pamięć jest przydzielana z tego obiektu pamięci. Przyrost to liczba zadań oczekujących obecnie na dostęp do tego obiektu pamięci. Dotyczy tylko obiektów pamięci bezpiecznych dla wątków. To wartość najlepszego wysiłku bez gwarancji poprawności. |
| exclusive_access_count | bigint |
Dotyczy: SQL Server 2016 (13.x) i nowszych. Określa, jak często ten obiekt pamięci był używany wyłącznie w ten sposób. Dotyczy tylko obiektów pamięci bezpiecznych dla wątków. To wartość najlepszego wysiłku bez gwarancji poprawności. |
| pdw_node_id | int |
Dotyczy do: Azure Synapse Analytics, Analytics Platform System (PDW) Identyfikator węzła, w ramach którego znajduje się ta dystrybucja. |
partition_type, contention_factor, waiting_tasks_count i exclusive_access_count nie zostały jeszcze zaimplementowane w SQL Database.
Permissions
W programie SQL Server i usłudze SQL Managed Instance wymagane jest VIEW SERVER STATE uprawnienie.
W przypadku celów usługi SQL Database Basic, S0 i S1 oraz baz danych w elastycznych pulach wymagane jest konto administratora serwera , konto administratora firmy Microsoft Entra lub członkostwo w ##MS_ServerStateReader##roli serwera . We wszystkich innych celach usługi SQL Database wymagane VIEW DATABASE STATE jest uprawnienie do bazy danych lub członkostwo w ##MS_ServerStateReader## roli serwera.
Uprawnienia dla programu SQL Server 2022 i nowszych
Wymaga uprawnienia WYŚWIETL STAN WYDAJNOŚCI SERWERA na serwerze.
Uwagi
Obiekty pamięci to kupy. Zapewniają alokacje o bardziej szczegółowej szczegółowości niż te dostarczane przez pracowników pamięci. Komponenty SQL Server używają obiektów pamięci zamiast pamięci clerks. Obiekty pamięci wykorzystują interfejs alokatora stron w pamięci do alokacji stron. Obiekty pamięci nie korzystają z wirtualnych ani współdzielonych interfejsów pamięci. W zależności od wzorców alokacji, komponenty mogą tworzyć różne typy obiektów pamięci do alokacji regionów o dowolnym rozmiarze.
Typowy rozmiar strony obiektu pamięci wynosi 8 KB. Jednak obiekty pamięci przyrostowej mogą mieć rozmiary stron od 512 bajtów do 8 KB.
Uwaga / Notatka
Rozmiar strony nie jest maksymalną alokacją. Zamiast tego rozmiar strony to szczegółowość alokacji obsługiwana przez alokator stron i realizowana przez sekretarza pamięci. Możesz żądać alokacji większej niż 8 KB od obiektów pamięci.
Przykłady
Poniższy przykład zwraca ilość pamięci przydzielonej przez każdy typ obiektu pamięci.
SELECT SUM (pages_in_bytes) as 'Bytes Used', type
FROM sys.dm_os_memory_objects
GROUP BY type
ORDER BY 'Bytes Used' DESC;
GO
Zobacz także
Dynamiczne widoki zarządzania związane z systemem operacyjnym PROGRAMU SQL Server (Transact-SQL)
sys.dm_os_memory_clerks (Transact-SQL)