Omówienie rozproszonego odtwarzania programu SQL Server
Dotyczy: SQL Server 2016 (13.x),
SQL Server 2017 (14.x) i
SQL Server 2019 (15.x)
Ważny
Rozproszone odtwarzanie programu SQL Server nie jest dostępne w programie SQL Server 2022 (16.x).
Funkcja rozproszonego odtwarzania programu Microsoft SQL Server pomaga ocenić wpływ przyszłych uaktualnień programu SQL Server. Można go również użyć do oceny wpływu uaktualnień sprzętu i systemu operacyjnego oraz dostrajania programu SQL Server.
Wycofywanie funkcji odtwarzania rozproszonego w SQL Server 2022
Funkcja Odtwarzania Rozproszonego jest uznana za przestarzałą w programie SQL Server 2022 (16.x), jak wspomniano w przestarzałych funkcjach silnika bazy danych w programie SQL Server 2022 (16.x). Rozproszony Odtwarzacz ma zależność od SQL Server Native Client (SNAC), który został usunięty w wersji SQL Server 2022 (16.x). Ta zmiana jest udokumentowana w Zasady obsługi klienta natywnego programu SQL Server. Ponadto funkcja Distributed Replay opiera się na plikach .trc
, które są przechwytywane za pomocą śledzenia SQL i profilera programu SQL Server, z których oba są również przestarzałe.
Kontroler rozproszonego odtwarzania został usunięty z instalacji programu SQL Server 2022 (16.x), a klient rozproszonego odtwarzania nie jest już dostępny w programie SQL Server Management Studio (SSMS) począwszy od wersji 18. Aby uzyskać kontroler rozproszonego odtwarzania, należy zainstalować program SQL Server 2019 (15.x) lub starszą wersję. Aby uzyskać klienta rozproszonego odtwarzania, należy zainstalować program SSMS 17.9.1.
W przypadku klientów na SQL Server 2022 (16.x) możesz zamiast tego użyć narzędzi Replay Markup Language (RML), w tym ostress, do odtworzenia obciążenia.
Zalety rozproszonego odtwarzania
Podobnie jak w przypadku profilera programu SQL Server, można użyć rozproszonego odtwarzania, aby odtworzyć przechwycony ślad w uaktualnionym środowisku testowym. W przeciwieństwie do programu SQL Server Profiler rozproszone odtwarzanie nie jest ograniczone do ponownego odtworzenia obciążenia z jednego komputera.
Rozproszone odtwarzanie oferuje bardziej skalowalne rozwiązanie niż SQL Server Profiler. W przypadku odtwarzania rozproszonego można odtworzyć obciążenie z wielu komputerów i lepiej symulować obciążenie o znaczeniu krytycznym.
Funkcja rozproszonego odtwarzania może używać wielu komputerów do ponownego odtwarzania danych śledzenia i symulowania obciążenia o krytycznym znaczeniu. Użyj rozproszonego odtwarzania na potrzeby testowania zgodności aplikacji, testowania wydajnościowego lub planowania pojemności.
Kiedy używać rozproszonego odtwarzania
SQL Server Profiler i Rozproszona Powtórka oferują pewne funkcje, które się pokrywają.
Za pomocą programu SQL Server Profiler można odtworzyć przechwycony ślad w uaktualnionym środowisku testowym. Możesz również przeanalizować wyniki odtwarzania, aby wyszukać potencjalne niezgodności funkcjonalne i wydajności. Jednak program SQL Server Profiler może odtworzyć obciążenie tylko z jednego komputera. W przypadku ponownego odtworzenia intensywnej aplikacji OLTP, która ma wiele aktywnych połączeń współbieżnych lub wysokiej przepływności, narzędzie SQL Server Profiler może stać się wąskim gardłem zasobów.
Rozproszone odtwarzanie oferuje bardziej skalowalne rozwiązanie niż SQL Server Profiler. Użyj rozproszonego odtwarzania, aby odtworzyć obciążenie z wielu komputerów i lepiej symulować obciążenie o znaczeniu krytycznym.
W poniższej tabeli opisano, kiedy należy używać każdego narzędzia.
Narzędzie | Użyj, gdy... |
---|---|
SQL Server Profiler | Chcesz użyć konwencjonalnego mechanizmu odtwarzania na jednym komputerze. W szczególności potrzebne są funkcje debugowania wiersz po wierszu, takie jak Krok, Uruchom do kursorai Przełącz punkt przerwania. Chcesz odtworzyć ślad usług Analysis Services. |
Rozproszona powtórka | Chcesz ocenić zgodność aplikacji. Na przykład chcesz przetestować scenariusze uaktualniania programu SQL Server i systemu operacyjnego, uaktualnienia sprzętu lub dostrajanie indeksu. Współbieżność przechwyconego śladu jest tak wysoka, że jeden klient odtwarzania nie jest w stanie jej wystarczająco zasymulować. |
Koncepty dotyczące odtwarzania rozproszonego
Następujące składniki składają się na środowisko rozproszonego odtwarzania:
narzędzie administracyjne rozproszonego odtwarzania: aplikacja konsolowa, DReplay.exe, używana do komunikacji z kontrolerem rozproszonego odtwarzania. Użyj narzędzia administracyjnego do zarządzania rozproszonym odtwarzaniem.
rozproszonego kontrolera odtwarzania: komputer z uruchomioną usługą systemu Windows o nazwie Kontroler rozproszonego odtwarzania programu SQL Server. Kontroler rozproszonego odtwarzania koordynuje działania klientów rozproszonego odtwarzania. W każdym środowisku "Distributed Replay" może istnieć tylko jedno wystąpienie kontrolera.
Klienci rozproszonego odtwarzania: co najmniej jeden komputer (fizyczny lub wirtualny) z uruchomioną usługą systemu Windows o nazwie klient rozproszonego odtwarzania programu SQL Server. Klienci rozproszonego odtwarzania współpracują ze sobą do symulacji obciążeń na instancji SQL Server. W każdym środowisku rozproszonego odtwarzania może istnieć co najmniej jeden klient.
serwer docelowy: instancja programu SQL Server, którą klienci rozproszonego odtwarzania mogą używać do odtwarzania danych śledzenia. Zalecamy, aby serwer docelowy znajdował się w środowisku testowym.
Narzędzie administracyjne rozproszonego odtwarzania, kontroler i klient można zainstalować na różnych komputerach lub na tym samym komputerze. Na tym samym komputerze może istnieć tylko jedno wystąpienie kontrolera rozproszonego odtwarzania lub usługi klienta.
Na poniższej ilustracji przedstawiono architekturę fizyczną rozproszonego odtwarzania programu SQL Server.
Zadania rozproszonego odtwarzania
Opis zadania | Artykuł |
---|---|
Opisuje sposób konfigurowania rozproszonego odtwarzania. | konfigurowanie rozproszonego odtwarzania |
Opisuje sposób przygotowywania danych śledzenia wejściowych. | Przygotowywanie danych śledzenia danych wejściowych |
Opisuje sposób odtwarzania danych śledzenia. | Odtwarzanie Danych Śledzenia |
Opisuje sposób przeglądania wyników danych śledzenia dla Distributed Replay. | przejrzyj wyniki powtórki |
Opisuje sposób inicjowania, monitorowania i anulowania operacji na kontrolerze za pomocą narzędzia administracyjnego. | opcje wiersza polecenia narzędzia administracji (narzędzie rozproszonego odtwarzania) |
Wymagania
Przed użyciem funkcji rozproszonego odtwarzania należy wziąć pod uwagę wymagania dotyczące produktu opisane w tym artykule.
Wymagania dotyczące śledzenia danych wejściowych
Aby pomyślnie odtworzyć dane śledzenia, musi spełniać wymagania dotyczące wersji i formatu oraz zawierać wymagane zdarzenia i kolumny.
Wersje śledzenia danych wejściowych
Funkcja rozproszonego odtwarzania obsługuje dane śledzenia danych wejściowych, które są zbierane w następujących wersjach programu SQL Server:
- SQL Server 2019 (15.x)
- SQL Server 2017 (14.x) (aktualizacja zbiorcza 1 lub nowsza — zobacz aktualizacji zbiorczych programu SQL Server 2017)
- SQL Server 2016 (13.x)
- SQL Server 2014 (12.x)
- SQL Server 2012 (11.x)
- SQL Server 2008 R2 (10.50.x)
- SQL Server 2008 (10.0.x)
- SQL Server 2005 (9.x)
Formaty śladów wejściowych
Śledzone dane wejściowe mogą mieć dowolny z następujących formatów:
Pojedynczy plik śledzenia z rozszerzeniem
.trc
.Zestaw plików śledzenia rotacji, które są zgodne z konwencją nazewnictwa dla rotacji plików, na przykład:
<TraceFile>.trc
,<TraceFile>_1.trc
,<TraceFile>_2.trc
,<TraceFile>_3.trc
, ...<TraceFile>_n.trc
.
Zdarzenia śledzenia i kolumny danych wejściowych
Dane śledzenia danych wejściowych muszą zawierać określone zdarzenia i kolumny, które mają być odtwarzane przez rozproszone odtwarzanie. Szablon TSQL_Replay w programie SQL Server Profiler zawiera wszystkie wymagane zdarzenia i kolumny oprócz dodatkowych informacji. Aby uzyskać więcej informacji na temat tego szablonu, zobacz Wymagania dotyczące odtwarzania.
Ostrzeżenie
Jeśli nie używasz szablonu TSQL_Replay do przechwytywania danych śledzenia wejściowego lub jeśli wymagania dotyczące śledzenia danych wejściowych nie są spełnione, mogą wystąpić nieoczekiwane wyniki odtwarzania.
Można również utworzyć niestandardowy szablon śledzenia i użyć go do odtwarzania zdarzeń za pomocą rozproszonego odtwarzania, o ile zawiera następujące zdarzenia:
- Inspekcja logowania
- Wylogowanie z audytu
- Istniejące połączenie
- Parametr wyjściowy RPC
- RPC:Completed (RPC:Ukończono)
- RPC:Uruchamianie
- SQL:BatchCompleted
- SQL:BatchStarting
W przypadku ponownego odtwarzania kursorów po stronie serwera wymagane są również następujące zdarzenia:
- CursorClose
- CursorExecute
- KursorOtwórz
- CursorPrepare
- CursorUnprepare
W przypadku ponownego odtworzenia przygotowanych po stronie serwera instrukcji SQL wymagane są również następujące zdarzenia:
- Wykonaj przygotowane SQL
- Przygotowanie SQL
Wszystkie dane śledzenia danych wejściowych muszą zawierać następujące kolumny:
- Klasa zdarzeń
- Sekwencja zdarzeń
- TextData
- Nazwa aplikacji
- Nazwa logowania
- Nazwa bazy danych
- Identyfikator bazy danych
- Nazwa hosta
- Dane binarne
- SPID
- Godzina rozpoczęcia
- Godzina zakończenia
- IsSystem
Obsługiwane kombinacje śledzenia danych wejściowych i serwera docelowego
W poniższej tabeli wymieniono obsługiwane wersje danych śledzenia oraz odpowiadające im obsługiwane wersje programu SQL Server, w których można odtworzyć dane.
Wersja danych śledzenia wejściowego | Obsługiwane wersje programu SQL Server dla wystąpienia serwera docelowego |
---|---|
SQL Server 2005 (9.x) | SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2008 (10.0.x) | SQL Server 2008 (10.0.x), SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2008 R2 (10.50.x) | SQL Server 2008 R2 (10.50.x), SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2012 (11.x) | SQL Server 2012 (11.x), SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2014 (12.x) | SQL Server 2014 (12.x), SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2016 (13.x) | SQL Server 2016 (13.x), SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2017 (14.x) | SQL Server 2017 (14.x), SQL Server 2019 (15.x) |
SQL Server 2019 (15.x) | SQL Server 2019 (15.x) |
Wymagania dotyczące systemu operacyjnego
Obsługiwane systemy operacyjne do uruchamiania zarówno narzędzia administracyjnego, jak i usług kontrolera i klienta są takie same jak w przypadku wystąpienia programu SQL Server. Aby uzyskać więcej informacji na temat obsługiwanych systemów operacyjnych dla wystąpienia programu SQL Server, zobacz SQL Server 2016 i 2017: Wymagania sprzętowe i programowe.
Funkcje rozproszonego odtwarzania są obsługiwane zarówno w systemach operacyjnych opartych na architekturze x86, jak i x64. W przypadku systemów operacyjnych opartych na architekturze x64 obsługiwany jest tylko tryb Windows on Windows (WOW).
Ograniczenia instalacji
Każdy komputer może mieć zainstalowane tylko jedno wystąpienie każdej funkcji rozproszonego odtwarzania. W poniższej tabeli przedstawiono liczbę instalacji każdej funkcji w jednym środowisku rozproszonego odtwarzania.
Funkcja rozproszonego odtwarzania | Maksymalna liczba instalacji na jedno środowisko odtwarzania |
---|---|
Usługa kontrolera rozproszonego odtwarzania programu SQL Server | 1 |
Usługa klienta programu SQL Server Distributed Replay | 16 (komputery fizyczne lub wirtualne) |
Narzędzie administracyjne | Nieograniczony |
Notatka
Chociaż na jednym komputerze można zainstalować tylko jedno wystąpienie narzędzia administracyjnego, można uruchomić wiele wystąpień narzędzia administracyjnego. Polecenia wydane z wielu narzędzi administracyjnych są rozpoznawane w kolejności, w jakiej są odbierane.
Dostawca dostępu do danych
Rozproszone odtwarzanie obsługuje tylko dostawcę dostępu do danych ODBC klienta natywnego programu SQL Server.
Wymagania dotyczące przygotowywania serwera docelowego
Zalecamy, aby serwer docelowy znajdował się w środowisku testowym. Aby odtworzyć dane śledzenia na innym wystąpieniu programu SQL Server niż to, na którym zostały pierwotnie zarejestrowane, upewnij się, że na serwerze docelowym zostały wykonane następujące kroki:
Wszystkie identyfikatory logowania i użytkownicy, którzy znajdują się w danych śledzenia, muszą znajdować się w tej samej bazie danych na serwerze docelowym.
Wszystkie loginy i użytkownicy na serwerze docelowym muszą mieć te same uprawnienia, co na oryginalnym serwerze.
Identyfikatory baz danych w obiekcie docelowym powinny być takie same jak identyfikatory baz danych w źródle. Jeśli jednak nie są one takie same, dopasowanie można wykonać na podstawie DatabaseName, jeśli znajduje się w śladzie.
Domyślna baza danych dla każdego identyfikatora logowania zawartego w danych śledzenia musi być ustawiona (na serwerze docelowym) na odpowiednią docelową bazę danych logowania. Na przykład dane śledzenia, które mają być odtwarzane, zawierają działanie logowania, Fred, w bazie danych Fred_Db w oryginalnym wystąpieniu programu SQL Server. W związku z tym na serwerze docelowym domyślna baza danych logowania Fredmusi być ustawiona na bazę danych zgodną z Fred_Db (nawet jeśli nazwa bazy danych jest inna). Aby ustawić domyślną bazę danych logowania, użyj procedury składowanej systemu
sp_defaultdb
.
Powtarzanie zdarzeń skojarzonych z brakującymi lub nieprawidłowymi identyfikatorami logowania powoduje błędy odtwarzania, ale operacja odtwarzania trwa nadal.