Zarządca zasobów

Dotyczy:programu SQL ServerAzure SQL Managed Instance

Za pomocą zarządcy zasobów można zarządzać użyciem zasobów aparatu bazy danych i wymuszać zasady dla obciążeń użytkownika. Zarządca zasobów umożliwia rezerwowanie lub ograniczanie zasobów CPU, pamięci i operacji wejścia/wyjścia, z których mogą korzystać obciążenia zapytań użytkownika. Można również zmodyfikować zachowanie zużycia zasobów dla każdego zapytania, takie jak stopień równoległości lub rozmiar przydziału pamięci.

Począwszy od programu SQL Server 2025 (17.x), możesz:

Aby zapoznać się z przykładami dotyczącymi konfiguracji i monitorowania oraz poznać najlepsze rozwiązania dotyczące zarządcy zasobów, zobacz Samouczek: przykłady konfiguracji zarządcy zasobów i najlepsze rozwiązania.

Notatka

Chociaż usługa Azure SQL Database korzysta z zarządcy zasobów (wśród innych technik) do zarządzania zasobami, konfiguracja pul zasobów i grup obciążeń nie jest obsługiwana.

Usługa Azure Synapse Analytics ma inną wersję podobnego zarządzania zasobami za pośrednictwem klasyfikacji obciążenia .

Korzyści wynikające z zarządcy zasobów

Zarządca zasobów umożliwia zarządzanie obciążeniami i zasobami aparatu bazy danych, określając rezerwacje i limity użycia zasobów według żądań. W kontekście zarządcy zasobów obciążenie to zestaw zapytań (żądań), które mogą i powinny być traktowane jako pojedyncza jednostka. Na przykład wszystkie zapytania wykonywane przez określoną aplikację mogą być traktowane jako obciążenie. Chociaż nie jest to wymagane, tym bardziej jednolity jest wzorzec użycia zasobów obciążenia, tym większa korzyść może wynikać z zarządcy zasobów.

Jeśli na tym samym serwerze znajduje się wiele różnych obciążeń, zarządca zasobów umożliwia przydzielanie zasobów inaczej do różnych obciążeń na podstawie podanych limitów.

Niektóre scenariusze użycia obsługiwane przez zarządcę zasobów to:

  • Zapewnienie wielodostępności i izolacji zasobów w pojedynczych wystąpieniach programu SQL Server obsługujących wiele obciążeń klientów. Oznacza to, że można podzielić dostępne zasoby na serwerze między obciążenia i zminimalizować problemy, które mogą wystąpić, gdy obciążenia konkurują o zasoby.
  • Zapewnienie przewidywalnej wydajności i obsługi umów SLA dla obciążeń w środowisku z wieloma obciążeniami i wieloma użytkownikami.
  • Izolowanie i ograniczanie niekontrolowanych zapytań lub ograniczanie zasobów we/wy dla operacji intensywnie korzystających z tego podsystemu, które mogą przeciążać podsystem we/wy i negatywnie wpływać na inne obciążenia.
  • Dodaj drobiazgowe śledzenie zasobów dla rozliczeń zwrotnych za wykorzystanie zasobów i zapewnij przewidywalne rozliczenia dla odbiorców zasobów serwera.

Współdziałanie i ograniczenia

  • Zarządca zasobów może być używany z grupami dostępności Always On i wystąpieniami klastra przełączania awaryjnego. Obowiązują następujące zagadnienia:
    • W przypadku użycia w programie SQL Server zarządca zasobów musi być skonfigurowany w każdym wystąpieniu programu SQL Server hostujących grupę dostępności. Konfiguracja kontrolera zasobów nie propaguje się z podstawowej repliki grupy dostępności do replik pomocniczych. Zalecamy użycie tej samej konfiguracji zarządcy zasobów dla wszystkich wystąpień aparatu bazy danych programu SQL Server hostujących repliki dostępności. Zapewnia to spójne działanie podczas przełączania grupy dostępności w trybie awaryjnym.
    • W przypadku użycia w usłudze Azure SQL Managed Instance konfiguracja zarządcy zasobów jest propagowana z repliki podstawowej do wszystkich replik pomocniczych, ponieważ master baza danych repliki podstawowej jest replikowana do wszystkich replik pomocniczych. Obejmuje to wysoką dostępność i replikację geograficzną wersji zapasowych. Aby uzyskać więcej informacji, zobacz Zarządca zasobów.
    • Jeśli używasz zawartych grup dostępności, zobacz Interakcje z innymi funkcjami , aby uzyskać więcej informacji.
  • Zarządzanie zasobami jest ograniczone do aparatu bazy danych programu SQL Server. Zarządca zasobów nie może być używany dla usług Analysis Services, Integration Services i Reporting Services.
  • Zarządca zasobów nie zapewnia monitorowania obciążeń ani zarządzania obciążeniami w wielu wystąpieniach programu SQL Server.
  • Bardzo krótkie zapytania, takie jak zapytania w niektórych obciążeniach OLTP, mogą nie używać procesora wystarczająco długo, aby można było zastosować ograniczenia przepustowości procesora. Może to spowodować niesymetryczność statystyk użycia procesora CPU i ograniczyć skuteczność zarządzania zasobami procesora CPU.
  • Możliwość zarządzania fizycznymi operacjami we/wy ma zastosowanie tylko do operacji użytkownika, a nie zadań systemowych. Zadania systemowe wykonują operacje dziennika transakcji, checkpoint i leniwej operacji zapisu we/wy. Zarządca zasobów zarządza operacjami odczytu fizycznego we/wy użytkownika, ale nie operacjami zapisu we/wy wykonywanymi przez zadania systemowe.
  • Nie można modyfikować kontroli zarządzania zasobami dla puli zasobów internal oraz grupy roboczej.

Pojęcia dotyczące zasobów

Następujące trzy pojęcia mają podstawowe znaczenie dla zrozumienia i używania zarządcy zasobów:

  • pula zasobów. Pula zasobów reprezentuje kontener dla zasobów fizycznych serwera, takich jak procesor CPU, pamięć i we/wy. Dwie wbudowane pule zasobów, internal i default, są zawsze obecne. Zarządca zasobów obsługuje również pule zasobów zdefiniowanych przez użytkownika. W zależności od konfiguracji zasoby w puli zasobów mogą być współużytkowane z innymi pulami lub zarezerwowane. Aby uzyskać więcej informacji, zobacz pula zasobów zarządcy zasobów.
  • grupa obciążeń. Grupa obciążeń reprezentuje kontener dla sesji sklasyfikowanych w taki sam sposób. Grupa obciążeń umożliwia zbiorcze monitorowanie wykorzystania zasobów przez sesje i żądania oraz definiuje zasady dotyczące żądań. Każda grupa obciążeń znajduje się w puli zasobów. Dwie wbudowane grupy obciążeń, internal i default, zawsze istnieją i są mapowane na pule zasobów internal i default odpowiednio. Zarządca zasobów obsługuje również grupy obciążeń zdefiniowane przez użytkownika. Aby uzyskać więcej informacji, zobacz grupa obciążeń zarządcy zasobów.
  • Klasyfikacja. Proces klasyfikacji przypisuje sesje przychodzące do grupy obciążeń na podstawie atrybutów sesji, takich jak nazwa logowania lub nazwa programu, przy użyciu niestandardowej logiki klasyfikacji. Po sklasyfikowaniu sesji w grupie obciążeń wszystkie żądania wykonywane w tej sesji podlegają zasadom grupy obciążeń. Logikę klasyfikacji definiuje się przez napisanie funkcji zdefiniowanej przez użytkownika skalarnej nazywanej funkcją klasyfikatora. Aby uzyskać więcej informacji, zapoznaj się z funkcją klasyfikatora zarządzania zasobami.

Notatka

Zarządca zasobów nie nakłada żadnych kontroli na dedykowanego połączenia administratora (DAC). Zapytania DAC są zawsze uruchamiane w grupie obciążenia internal i w puli zasobów.

Na poniższej ilustracji przedstawiono składniki zarządcy zasobów i ich wzajemne relacje w silniku bazy danych. Z perspektywy przetwarzania uproszczony przepływ wygląda następująco:

  • Istnieje połączenie przychodzące dla sesji (sesja 1 z n).
  • Sesja jest klasyfikowana.
  • Przy użyciu wyniku klasyfikacji sesja jest przypisywana do grupy obciążeń, na przykład Group 4.
  • Grupa obciążeń wymusza zasady dotyczące wszystkich żądań i używa puli zasobów, z którą jest skojarzona, na przykład Pool 2.
  • Pula zasobów zapewnia i ogranicza zasoby wymagane przez aplikację, na przykład Application 3.

Diagram przedstawiający składniki zarządcy zasobów i przetwarzanie sesji przychodzących.

Zadania zarządcy zasobów

Opis zadania Artykuł
Wyświetlanie przykładów konfiguracji Samouczek: przykłady konfiguracji zarządcy zasobów i najlepsze rozwiązania
Włączanie zarządcy zasobów Włącz zarządcę zasobów
Wyłącz zarządcę zasobów Wyłącz zarządcę zasobów
Tworzenie, zmienianie i usuwanie puli zasobów pula zasobów zarządcy zasobów
Tworzenie, zmienianie, przenoszenie i usuwanie grupy obciążeń grupa obciążeń zarządcy zasobów
Tworzenie i testowanie funkcji zdefiniowanej przez użytkownika klasyfikatora funkcja klasyfikatora zarządcy zasobów
Konfigurowanie zarządcy zasobów przy użyciu szablonu Konfigurowanie zarządcy zasobów przy użyciu szablonu
Wyświetl właściwości zarządcy zasobów Wyświetlanie i modyfikowanie właściwości zarządcy zasobów
Ustawianie limitu tempdb zużycia miejsca Zarządzanie zasobami przestrzeni bazy danych Tempdb