Vytváření, úpravy nebo odstranění konference u některých koncových bodů aplikace v Lyncu nebo Skype pro firmy

Příznaky

Zvažte následující příklad:

  • Máte místní fond Microsoft Server Skypu pro firmy 2015 nebo Lync Server 2013 Enterprise.
  • Máte jednu nebo více aplikací třetích stran, které používají důvěryhodné koncové body aplikace, které vytvářejí velký počet konferencí.
  • K výpadku nebo odpojení sítě dochází u jednoho nebo několika serverů Front-End Server Skypu pro firmy 2015 nebo Lync Server 2013.

V tomto scénáři zjistíte, že některá část koncových bodů používaných vašimi aplikacemi nemůže vytvářet, upravovat ani odstraňovat konference. Koncový bod obdrží chybu 503 syncReplicationFailed nebo 400 conferenceAlreadyExists pro každou konferenci, která se pokusí vytvořit, upravit nebo odstranit.

Příčina

Při pokusu o vytvoření, úpravu nebo odstranění konference selže replikace stavových dat z primárního Front-End serveru na oba sekundární Front-End servery.

Během výpadku nebo odpojení jednoho nebo více Front-End serverů můžou aktuálně aktivní Front-End servery převzít vlastnictví určitých sad uživatelů a v procesu vyžadovat vytvoření nových sekundárních replik pro tyto uživatele.

Když aplikace třetí strany vytváří mnoho konferencí v průběhu času, může se tabulka PSD (Persisted Service Data) zvětšit na velikost, při které replikace do nových sekundárních replik trvá příliš dlouho. Tento prodloužený proces způsobí, že se fronty na serveru zaplní déle, než se čekalo, a během konferenčních operací aktivuje selhání replikace.

Řešení

Chcete-li tomuto problému zabránit, použijte nástroj PurgeAppEndpointUserDataFromPSD.ps1 ze sady Skype pro firmy Resource Kit 2015:

https://gallery.technet.microsoft.com/How-to-purge-application-eb80d022

Tento nástroj vyhledá všechny položky související s konferencemi vytvořenými koncovými body aplikace, které se ale od té doby odstranily. Tyto položky také vymaže z tabulky PersistedServiceData.

Poznámka

Pokud vás tento problém aktivně ovlivnil před spuštěním tohoto nástroje, můžete si všimnout, že během konferenčních operací stále dochází k selhání aktuálně ovlivněných koncových bodů aplikace, a to i po spuštění nástroje. Tento problém může přetrvávat, dokud se nedokončí proces sekundární replikace.

Pomocí příkazu Get-CsPoolUpgradeReadinessState PowerShell můžete určit, jestli se dokončily všechny sekundární procesy replikace. Pokud je stav Zaneprázdněn, stále probíhají úlohy sekundární replikace, a proto může dojít k ovlivnění některých částí koncových bodů aplikace. Po přechodu stavu do stavu Připraveno by se měly dokončit všechny úlohy sekundární replikace a všechny koncové body aplikace by teď měly být schopné dokončit konferenční operace.

U každého ovlivněného fondu postupujte takto:

  1. Volitelné: Spuštěním následujícího dotazu SQL na instanci RTCLocal SQL Front-End serverů určete aktuální počet položek v tabulce PersistedServiceData. Vrácená hodnota se může lišit mezi jednotlivými Front-End servery v určitém fondu.

    select count(*) from [rtc].[dbo].[PersistedServiceData] psd with (nolock)
    inner join [rtc].[dbo].[Document] d with (nolock) on psd.DocId = d.DocId
    
  2. Spusťte následující příkaz:

    PurgeAppEndpointUserDataFromPSD.ps1 -PoolName <pool name> -Command select
    
  3. Otevřete výstupní soubory a vizuálně potvrďte, že je bezpečné odstranit jejich data.

  4. Spusťte následující příkaz:

    PurgeAppEndpointUserDataFromPSD.ps1 -PoolName <pool name> -Command delete
    
  5. Volitelné: Když je nástroj spuštěný, můžete spustit dotaz SQL z kroku 1 a ověřit, že se počet snižuje. Po dokončení skriptu můžete dotaz SQL spustit ještě jednou a určit tak konečný počet položek v tabulce PersistedServiceData na každém serveru Front-End. Toto číslo by mělo být menší než počet, který vidíte v kroku 1.

Ve výchozím nastavení bude tento skript zpracovávat koncové body aplikace, které jsou aktuálně v určitém fondu. Pokud se koncové body aplikace přesunuly do jiného fondu, můžete pomocí volitelného přepínače AllPoolEndpoints označit, že chcete zahrnout koncové body aplikace, které jsou v libovolném fondu, a to následujícím způsobem:

PurgeAppEndpointUserDataFromPSD.ps1 - PoolName <Pool name> -Command delete -AllPoolEndpoints

Průběžná údržba

Tento nástroj vymaže všechny relevantní položky, které jsou aktuálně v tabulce PersistedServiceData, ale protože všechny aplikace třetích stran, které používají konference, budou i nadále vytvářet nové konference, bude velikost tabulky nadále růst. Proto doporučujeme pravidelně spouštět nástroj PurgeAppEndpointUserDataFromPSD.ps1, abyste zajistili, že se velikost tabulky PersistedServiceData nezvětšuje až do bodu, kdy k tomuto problému dochází znovu.

Frekvence spouštění tohoto nástroje závisí na rychlosti, s jakou tyto aplikace třetích stran vytvářejí konference. Pomocí dotazu SQL z kroku 1 v části Řešení můžete monitorovat velikost tabulky a určit, jak rychle roste. Pomůže vám to určit vhodný plán pro vaše prostředí.

Další informace

Stále potřebujete pomoc? Přejděte na web Microsoft Community.