Sdílet prostřednictvím


Přehled distribuovaného přehrávání SQL Serveru

platí pro: SQL Server 2016 (13.x), SQL Server 2017 (14.x) a SQL Server 2019 (15.x)

Důležitý

SQL Server Distributed Replay není k dispozici s SQL Serverem 2022 (16.x).

Funkce distribuovaného přehrání microsoft SQL Serveru vám pomůže vyhodnotit vliv budoucích upgradů SQL Serveru. Můžete ho také použít k posouzení vlivu upgradů hardwaru a operačního systému a ladění SQL Serveru.

Vyřazení distribuovaného přehrávání v SQL Serveru 2022

Distribuované přehrání je od SQL Serveru 2022 (16.x) zrušeno, jak je uvedeno v Zastaralé funkce databázového stroje v SQL Serveru 2022 (16.x). Distribuované přehrávání je závislé na SQL Server Native Client (SNAC), který byl odebrán z SQL Serveru 2022 (16.x). Tato změna je zdokumentovaná v Zásady podpory pro SQL Server Native Client. Distribuované přehrání navíc závisí na souborech .trc, které jsou zachyceny pomocí SQL Trace a SQL Server Profiler, přičemž oba jsou rovněž zastaralé.

Distribuovaný řadič přehrávání byl odebrán z instalace SYSTÉMU SQL Server 2022 (16.x) a distribuovaný klient přehrávání již není k dispozici v aplikaci SQL Server Management Studio (SSMS) od verze 18. Chcete-li získat distribuovaný replay Controller, musíte nainstalovat SQL Server 2019 (15.x) nebo starší verzi. Chcete-li získat klienta pro distribuované přehrání, musíte nainstalovat SSMS 17.9.1.

Pro zákazníky s SQL Serverem 2022 (16.x) můžete místo toho použít nástroje RML (Replay Markup Language), které zahrnují ostress, k přehrání úlohy.

Výhody distribuovaného přehrávání

Podobně jako u SQL Server Profiler můžete pomocí Distributed Replay přehrát zachycené trasování v upgradovaném testovacím prostředí. Na rozdíl od SQL Server Profileru není distribuované přehrání omezené na přehrání úlohy z jednoho počítače.

Distribuované přehrání nabízí škálovatelnější řešení než SQL Server Profiler. S distribuovaným přehráváním můžete přehrávat úlohy z více počítačů a lépe simulovat kritickou úlohu.

Funkce distribuovaného přehrávání může použít více počítačů k přehrání dat trasování a simulaci kritické úlohy. K testování kompatibility aplikací, testování výkonu nebo plánování kapacity využijte distribuované přehrávání.

Kdy použít Distributed Replay

SQL Server Profiler a distribuované přehrání poskytují určitou vzájemnou překrývající se funkčnost.

K přehrání zachyceného trasování v upgradovaném testovacím prostředí můžete použít SQL Server Profiler. Výsledky přehrání můžete také analyzovat a vyhledat případné nekompatibility funkčnosti a výkonu. SQL Server Profiler ale může přehrát jenom úlohu z jednoho počítače. Při přehrávání náročné aplikace OLTP, která má mnoho aktivních souběžných připojení nebo vysokou propustnost, se SQL Server Profiler může stát úzkým hrdlem.

Distribuované přehrání nabízí škálovatelnější řešení, než nabízí SQL Server Profiler. Pomocí distribuovaného přehrávání můžete přehrávat úlohy z více počítačů a lépe simulovat kritickou úlohu.

Následující tabulka popisuje, kdy použít jednotlivé nástroje.

Nástroj Použijte, když...
SQL Server Profiler Chcete použít konvenční mechanismus přehrávání na jednom počítači. Konkrétně potřebujete možnosti ladění po řádovém řádku, například krok, Spustit na kurzora Přepnout zarážku příkazy.

Chcete znovu přehrát sledování služby Analysis Services.
Distribuované přehrání Chcete vyhodnotit kompatibilitu aplikací. Chcete například otestovat scénáře upgradu SQL Serveru a operačního systému, upgrady hardwaru nebo ladění indexu.

Souběžnost v zachyceném trasování je tak vysoká, že jeden přehrávací klient ji nemůže dostatečně simulovat.

Principy distribuovaného přehrání

Následující komponenty tvoří prostředí distribuovaného přehrávání:

  • nástroj pro správu distribuovaného přehrávání: konzolová aplikace, DReplay.exe, sloužící ke komunikaci s distribuovaným kontrolerem přehrávání. Pomocí nástroje pro správu můžete řídit distribuované přehrávání.

  • distribuovaný řadič přehrávání: Počítač se službou Windows s názvem SQL Server Distributed Replay controller. Řadič distribuovaného přehrání orchestruje činnosti klientů distribuovaného přehrání. V každém prostředí distribuovaného přehrávání může existovat pouze jedna instance kontroleru.

  • Klienti distribuovaného přehrávání: Jeden nebo více počítačů (fyzických nebo virtuálních) s Windows službou nazvanou klient SQL Server Distributed Replay. Klienti distribuovaného přehrání spolupracují na simulaci úloh s instancí SQL Serveru. V každém prostředí distribuovaného přehrávání může být jeden nebo více klientů.

  • cílový server: Instance SQL Serveru, kterou mohou klienti distribuovaného přehrávání použít k opětovnému přehrání dat ze sledování. Doporučujeme, aby cílový server byl umístěn v testovacím prostředí.

Nástroj pro správu distribuovaného přehrávání, kontroler a klient lze nainstalovat do různých počítačů nebo stejného počítače. Na stejném počítači může běžet pouze jedna instance řadiče distribuovaného přehrávání nebo klientské služby.

Následující obrázek ukazuje fyzickou architekturu SQL Server Distributed Replay.

diagram architektury distribuovaného přehrávání

Distribuované úlohy přehrávání

Popis úkolu Článek
Popisuje, jak nakonfigurovat Distributed Replay. Konfigurace Distribuovaného Přehrání
Popisuje, jak připravit vstupní stopová data. Příprava vstupních dat sledování
Popisuje, jak znovu přehrát data trasování. Přehrát údaje o trasování
Popisuje, jak zkontrolovat výsledky dat trasování distribuovaného přehrání. Zkontrolujte výsledky přehrávání
Popisuje, jak pomocí nástroje pro správu zahájit, monitorovat a rušit operace na kontroleru. možnosti příkazového řádku nástroje pro správu (distribuovaný nástroj pro přehrání)

Požadavky

Před použitím funkce Distribuované přehrání zvažte požadavky na produkt, které jsou popsané v tomto článku.

Požadavky na sledování vstupu

Aby bylo možné úspěšně přehrát data trasování, musí splňovat požadavky na verzi a formát a obsahovat požadované události a sloupce.

Verze sledování vstupu

Distribuované přehrání podporuje vstupní data trasování shromážděná v následujících verzích SQL Serveru:

  • SQL Server 2019 (15.x)
  • SQL Server 2017 (14.x) (kumulativní aktualizace 1 a novější verze – viz kumulativní aktualizace SQL Serveru 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)

Formáty sledování vstupu

Vstupní data trasování můžou být v některém z následujících formátů:

  • Jeden trasovací soubor, který má příponu .trc.

  • Sada trasovacích souborů přechodu, které se řídí konvencí pro vkládání názvů souborů, například: <TraceFile>.trc, <TraceFile>_1.trc, <TraceFile>_2.trc, <TraceFile>_3.trc, ... <TraceFile>_n.trc.

Události trasování vstupů a sloupce

Vstupní data trasování musí obsahovat konkrétní události a sloupce, které mají být přehrány pomocí funkce Distributed Replay. Šablona TSQL_Replay v SQL Server Profileru obsahuje kromě dalších informací také všechny požadované události a sloupce. Další informace o této šabloně najdete v tématu Požadavky na přehrání.

Varování

Pokud šablonu TSQL_Replay nepoužíváte k zachycení vstupních dat trasování, nebo pokud nejsou splněny požadavky na tato vstupní data, může se zobrazit neočekávaný výsledek přehrání.

Můžete také vytvořit vlastní šablonu trasování a použít ji k přehrání událostí pomocí distribuovaného přehrávání, pokud obsahuje následující události:

  • Auditorské přihlášení
  • Odhlášení z auditu
  • Stávající připojení
  • Výstupní parametr RPC
  • RPC:Dokončeno
  • RPC:Spuštění
  • SQL:Dávka dokončena
  • SQL:BatchStarting

Pokud přehráváte kurzory na straně serveru, vyžadují se také následující události:

  • CursorClose
  • CursorExecute
  • CursorOpen
  • CursorPrepare
  • CursorUnprepare

Pokud přehráváte připravené příkazy SQL na straně serveru, vyžadují se také následující události:

  • Provést připravený SQL příkaz
  • Připravte SQL

Všechna vstupní data trasování musí obsahovat následující sloupce:

  • Třída události
  • Sekvence událostí
  • TextData
  • Název aplikace
  • Přihlašovací jméno
  • Název databáze
  • ID databáze
  • Název hostitele
  • Binární data
  • SPID
  • Čas zahájení
  • Čas ukončení
  • IsSystem

Podporované kombinace sledování vstupu a cílového serveru

Následující tabulka uvádí podporované verze dat trasování a pro každou z nich podporované verze SQL Serveru, se kterými se dají data přehrávat.

Verze vstupních sledovacích dat Podporované verze SQL Serveru pro instanci cílového serveru
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)

Požadavky na operační systém

Podporované operační systémy pro spuštění nástroje pro správu a kontroleru a klientských služeb jsou stejné jako instance SQL Serveru. Další informace o podporovaných operačních systémech pro instanci SQL Serveru najdete v tématu SQL Server 2016 a 2017: Požadavky na hardware a software.

Distribuované funkce přehrávání jsou podporovány v operačních systémech založených na platformě x86 i x64. V případě operačních systémů založených na platformě x64 se podporuje pouze režim Windows v systému Windows (WOW).

Omezení instalace

Každý počítač může mít nainstalovanou jenom jednu instanci každé funkce distribuovaného přehrávání. Následující tabulka uvádí, kolik instalací jednotlivých funkcí je povoleno v jednom prostředí distribuovaného přehrávání.

Distribuovaná funkce přehrávání Maximální počet instalací na prostředí pro přehrávání
Služba kontroleru distribuovaného přehrávání SQL Serveru 1
Klientská služba distribuovaného přehrání SQL Serveru 16 (fyzické nebo virtuální počítače)
Nástroj pro správu Neomezený

Poznámka

I když se na jeden počítač dá nainstalovat jenom jedna instance nástroje pro správu, můžete spustit několik instancí nástroje pro správu. Příkazy vydané z více nástrojů pro správu jsou vyřešeny v pořadí, v jakém jsou přijaty.

Zprostředkovatel přístupu k datům

Funkce Distribuované přehrávání podporuje pouze ODBC zprostředkovatele přístupu k datům nativního klienta SQL Serveru.

Požadavky na přípravu cílového serveru

Doporučujeme, aby cílový server byl umístěn v testovacím prostředí. Pokud chcete přehrát trasovací data proti jiné instanci SQL Serveru, než byla původně zaznamenána, ujistěte se, že na cílovém serveru byly provedeny následující kroky:

  • Všechna přihlášení a uživatelé, kteří jsou obsaženi v datech trasování, musí být ve stejné databázi na cílovém serveru.

  • Všechna přihlášení a uživatelé na cílovém serveru musí mít stejná oprávnění, jaká měli na původním serveru.

  • ID databáze v cíli by měla být v ideálním případě stejná jako ID databáze ve zdroji. Pokud ale nejsou stejné, dají se spárovat na základě DatabaseName, pokud je přítomen ve sledování.

  • Výchozí databáze pro každé přihlášení obsažené v datech trasování musí být nastavena (na cílovém serveru) na příslušnou cílovou databázi přihlášení. Například trasovaná data, která mají být přehrána, obsahují aktivitu pro přihlášení Fredv databázi Fred_Db na původní instanci SQL Serveru. Proto na cílovém serveru musí být výchozí databáze pro přihlášení, Fred, nastavena na databázi, která odpovídá Fred_Db (i když je název databáze jiný). Pokud chcete nastavit výchozí databázi přihlášení, použijte uloženou proceduru sp_defaultdb systému.

Přehrání událostí přidružených k chybějícím nebo nesprávným přihlášením vede k chybám přehrávání, ale operace přehrání pokračuje.