Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Symptomen
Neem het volgende scenario:
- U hebt een on-premises Microsoft Skype voor Bedrijven Server 2015- of Lync Server 2013 Enterprise-pool.
- U hebt een of meer toepassingen van derden die gebruikmaken van vertrouwde toepassingseindpunten die een groot aantal vergaderingen maken.
- Een storing of netwerkverbinding treedt op voor een of meer van uw Skype voor Bedrijven Server 2015- of Lync Server 2013-Front-End-servers.
In dit scenario ziet u dat een deel van de eindpunten die door uw toepassingen worden gebruikt, geen vergaderingen kan maken, wijzigen of verwijderen. Het eindpunt ontvangt de fout '503 syncReplicationFailed' of '400 conferenceAlreadyExists' voor elke vergadering die het probeert te maken, te wijzigen of te verwijderen.
Oorzaak
Replicatie van stateful gegevens van de primaire Front-End server naar beide secundaire Front-End servers mislukt tijdens het maken, wijzigen of verwijderen van een vergadering.
Tijdens een storing of verbroken verbinding van een of meer Front-End servers, kunnen de actieve Front-End servers eigenaar worden van bepaalde groepen gebruikers en vereisen dat er nieuwe secundaire replica's voor deze gebruikers worden gemaakt.
Wanneer veel vergaderingen in de loop van de tijd worden gemaakt door een toepassing van derden, kan de PSD-tabel (Persistented Service Data) toenemen tot een grootte waarbij replicatie naar de nieuwe secundaire replica's te veel tijd in beslag neemt. Dit langdurige proces zorgt ervoor dat wachtrijen op de server langer vol raken dan verwacht en replicatiefouten activeren tijdens vergaderbewerkingen.
Oplossing
Als u dit probleem wilt voorkomen, gebruikt u het hulpprogramma PurgeAppEndpointUserDataFromPSD.ps1 uit de Skype voor Bedrijven 2015 Resource Kit:
https://gallery.technet.microsoft.com/How-to-purge-application-eb80d022
Met dit hulpprogramma worden vermeldingen gevonden die betrekking hebben op vergaderingen die zijn gemaakt door toepassingseindpunten, maar die sindsdien zijn verwijderd. Deze vermeldingen worden ook verwijderd uit de tabel PersistedServiceData.
Opmerking
Als u actief last had van dit probleem voordat u dit hulpprogramma uitvoerde, ziet u mogelijk dat de momenteel betrokken toepassingseindpunten blijven mislukken tijdens vergaderbewerkingen, zelfs nadat u het hulpprogramma hebt uitgevoerd. Dit probleem kan zich blijven voordoen totdat het secundaire replicatieproces is voltooid.
U kunt de powershell-opdracht Get-CsPoolUpgradeReadinessState gebruiken om te bepalen of alle secundaire replicatieprocessen zijn voltooid. Wanneer de status Bezet is, worden er nog steeds secundaire replicatietaken uitgevoerd, waardoor sommige delen van de toepassingseindpunten nog steeds worden beïnvloed. Nadat de status is overgezet naar Gereed, moeten alle secundaire replicatietaken zijn voltooid en moeten alle toepassingseindpunten nu vergaderbewerkingen kunnen voltooien.
Volg deze stappen voor elke betrokken pool:
Optioneel: voer de volgende SQL-query uit op het RTCLocal SQL-exemplaar van uw Front-End servers om het huidige aantal vermeldingen in de tabel PersistedServiceData te bepalen. De geretourneerde waarde kan variëren tussen afzonderlijke Front-End servers in een bepaalde pool.
select count(*) from [rtc].[dbo].[PersistedServiceData] psd with (nolock) inner join [rtc].[dbo].[Document] d with (nolock) on psd.DocId = d.DocId
Voer de volgende opdracht uit:
PurgeAppEndpointUserDataFromPSD.ps1 -PoolName <pool name> -Command select
Open de uitvoerbestanden en controleer of het veilig is om hun gegevens te verwijderen.
Voer de volgende opdracht uit:
PurgeAppEndpointUserDataFromPSD.ps1 -PoolName <pool name> -Command delete
Optioneel: terwijl het hulpprogramma wordt uitgevoerd, kunt u de SQL-query uitvoeren vanaf stap 1 om te controleren of het aantal wordt verminderd. Nadat het script is uitgevoerd, kunt u de SQL-query nog één keer uitvoeren om het uiteindelijke aantal vermeldingen in de tabel PersistedServiceData op elke Front-End server te bepalen. Dit aantal moet kleiner zijn dan het aantal in stap 1.
Dit script verwerkt standaard toepassingseindpunten die momenteel zijn thuis in een bepaalde pool. Als toepassingseindpunten zijn verplaatst naar een andere pool, kunt u de optionele switch AllPoolEndpoints gebruiken om aan te geven dat u toepassingseindpunten wilt opnemen die in elke groep zijn opgenomen, als volgt:
PurgeAppEndpointUserDataFromPSD.ps1 - PoolName <Pool name> -Command delete -AllPoolEndpoints
Doorlopend onderhoud
Met dit hulpprogramma worden alle relevante vermeldingen verwijderd die zich momenteel in de tabel PersistedServiceData bevinden, maar omdat toepassingen van derden die gebruikmaken van vergaderingen nieuwe vergaderingen blijven maken, blijft de grootte van de tabel toenemen. Daarom raden we u aan het hulpprogramma PurgeAppEndpointUserDataFromPSD.ps1 periodiek uit te voeren om ervoor te zorgen dat de tabel PersistedServiceData niet groter wordt dan het punt waarop dit probleem zich opnieuw voordoet.
De frequentie waarmee dit hulpprogramma moet worden uitgevoerd, is afhankelijk van de snelheid waarmee deze toepassingen van derden vergaderingen maken. U kunt de SQL-query uit stap 1 in de sectie Oplossing gebruiken om de grootte van de tabel te controleren en te bepalen hoe snel deze groeit. Dit helpt u bij het bepalen van een geschikte planning voor uw omgeving.
Meer informatie
Meer hulp nodig? Ga naar Microsoft Community.