Contexte
L’outil Skype for Business intègre un outil de reporting basé sur SQL Reports Services. Lorsque vous vous connectez au site des rapports Skype, l’erreur suivante apparait :
![2016-09-02_095801 2016-09-02_095801](http://blog.piservices.fr/image.axd?picture=2016-09-02_095801_thumb_1.png)
Explications
Cette erreur est due au mirroring des bases SQL de Skype for Business. Certaines bases SQL se trouvent sur un serveur A (serveur principal) et certaines bases SQL se trouvent sur un serveur B (serveur miroir).
![2016-09-02_094940 2016-09-02_094940](http://blog.piservices.fr/image.axd?picture=2016-09-02_094940_thumb.png)
Pourquoi cette bascule ?
Les trois serveurs SQL (le serveur principal, le serveur miroir et le serveur témoin) se ping constamment pour valider leur connexion. Par défaut sur chaque base le timeout du mirroring est configuré à 10 secondes.
Ce qui signifie que si le serveur principal ne répond pas à un ping en moins de 10 secondes, la base bascule vers le second serveur.
Solution
Résolution de l’erreur
Pour résoudre cette erreur il faut basculer les bases qui se trouvent sur le serveur B (miroir) vers le serveur A (principal). Si l’erreur se produit trop souvent, il est possible d’augmenter la valeur du timeout.
Pour basculer les bases, dans SQL Server Management Studio, faites un clic droit sur la base à basculer puis dans Tasks, cliquez sur Mirror…
![2016-09-02_095724 2016-09-02_095724](http://blog.piservices.fr/image.axd?picture=2016-09-02_095724_thumb.png)
Dans la partie Mirroring, cliquez sur Failover.
![2016-09-02_095907 2016-09-02_095907](http://blog.piservices.fr/image.axd?picture=2016-09-02_095907_thumb.png)
Un message d’information apparait pour nous prévenir de la bascule. Cliquez sur Yes pour valider l’action.
![2016-09-02_095948 2016-09-02_095948](http://blog.piservices.fr/image.axd?picture=2016-09-02_095948_thumb.png)
Cette action est à répéter sur chaque base qui se trouve sur le serveur B.
Une fois l’ensemble des bases sur le serveur A, les rapports sont à nouveau disponibles.
![2016-09-02_100136 2016-09-02_100136](http://blog.piservices.fr/image.axd?picture=2016-09-02_100136_thumb.png)
Modification du timeout
Pour valider la valeur du mirroring, lancez la commande suivante dans SQL Server Management Studio :
SELECT Mirroring_Connection_Timeout FROM sys.database_mirroring WHERE database_id = db_id(‘DATABASE_NAME’)
![2016-09-02_100240 2016-09-02_100240](http://blog.piservices.fr/image.axd?picture=2016-09-02_100240_thumb.png)
Il est possible de modifier cette valeur avec la commande suivante :
ALTER DATABASE database_name SET PARTNER TIMEOUT 20
![2016-09-02_100331 2016-09-02_100331](http://blog.piservices.fr/image.axd?picture=2016-09-02_100331_thumb.png)
Relancez la première commande pour valider le changement.
![2016-09-02_100410 2016-09-02_100410](http://blog.piservices.fr/image.axd?picture=2016-09-02_100410_thumb.png)
Il n’est cependant pas recommandé de trop augmenter la valeur du timeout. En effet en cas de vrai coupure la bascule des bases sera plus longue.
Si en augmentant le timeout à 15 ou 20 secondes le problème se reproduit souvent, une étude du réseau est nécessaire.