PI Services

Le blog des collaborateurs de PI Services

Skype for Business – Erreur d’accès aux Reports Services

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

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

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

Dans la partie Mirroring, cliquez sur Failover.

2016-09-02_095907

Un message d’information apparait pour nous prévenir de la bascule. Cliquez sur Yes pour valider l’action.

2016-09-02_095948

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

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

Il est possible de modifier cette valeur avec la commande suivante :

ALTER DATABASE database_name SET PARTNER TIMEOUT 20

2016-09-02_100331

Relancez la première commande pour valider le changement.

2016-09-02_100410

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.

Rapports SCOM – Ebook gratuit

Un nouvel ebook gratuit est disponible et concerne la création de rapports Reporting Services pour SCOM.

Au menu:

  1. Chapter 1 Operations Manager and the cloud

  2. Chapter 2 Operations Manager reporting basics

  3. Chapter 3 Working with reports

  4. Chapter 4 Overview of report authoring tools

  5. Chapter 5 Authoring reports in Report Builder

  6. Chapter 6 Authoring reports in SQL Server Data Tools

  7. Chapter 7 Building management packs for reporting

  8. Chapter 8 Authoring dashboards in Power View

  9. Chapter 9 Troubleshooting reporting in Operations Manager

 

http://www.microsoftvirtualacademy.com/ebooks#9780735695788

SQL Server 2005 – Erreur 28086 lors de la réinstallation de SQL Server Reporting.

Lors d’une mission d’installation de SQL Server chez un client, j’ai rencontré un problème d’installation du service SQL Server Reporting suite à une réinstallation du serveur.

L’erreur en question mentionne que le service SQL Server Reporting ne peut pas etre installé car il existe une instance du même nom sur le serveur.

An instance with the same name is already installed on this computer. To proceed with SQL Server Setup, provide a unique instance name.

error sql article

Pour résoudre ce problème :

1. Commencez par désinstaller tous les binaires de SQL Server 2005

2. Supprimez le dossier correspondant à C:\Program Files\Microsoft SQL Server\, ou spécifiquement le dossier C:\Program Files\Microsoft SQL Server\MSSQL.1.

3. Puis ouvrez l’éditeur du registre recherchez les clés suivantes pour les supprimer :

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSSQLServer

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL.1

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Services\SQL Server

4. Puis redémarrer votre serveur et relancez votre installation.

Reporting Services: InvalidReportLink

 

Dans certains cas un message d’erreur est renvoyé lors de l’exécution de rapports sous SQL Reporting Services faisant état d’un lien invalide:

image

Si vous ouvrez le même rapport directement depuis le site web de votre instance Reporting Services (Dans cet exemple un rapport sur les performances mémoire de Sharepoint), le message est effectivement le même.

image 

image

Pour corriger cela, ouvrez les propriétés du rapport, toujours sur le même site (Pas le fichier .rdpl, mais le fichier du même nom, qui n’a pas d’extension affiché) et sélectionnez Gérer.

image

image

A présent il faut cliquer sur Changer le lien. Vous pouvez vous referez a un environnement de test, de preprod, pour voir quel est le lien vers la définition du rapport (Dans cet exemple il s’agit d’un rapport issu de System Center Operations Manager. La majorité des rapports de performance sont rattaché a Microsoft.SystemCenter.Datawarehouse.Report.Performance).

Cliquez sur Changer le lien, sélectionnez la définition du rapport et cliquez OK

image

image

image

 

Le rapport a récupéré son lien. Cliquez Sur Appliquer.

image

 

Et il est a nouveau disponible a l’exécution:

image

2008 R2 - Utilisation des comptes de services gérés

Parmi les nouveautés de Windows Server 2008 R2 et au niveau du composant Active Directory on trouve les comptes de services gérés (Managed Service Accounts).

Plusieurs applications SQL Server et IIS reposent sur des services qui doivent parfois être démarrés avec des comptes de domaines pour des besoins spécifiques. L’administration de ces comptes, de leurs mots de passe ainsi que des SPN peut s’avérer complexe et peut affecter la disponibilité de l’application.

L’utilisation des comptes de services gérés réduit la charge administrative quant à la gestion des mots de passe et des SPN (nom principal de service) tout en assurant la disponibilité de ces applications et réduisant les risques lié à la modification des mots de passe.

Pré-requis

Pour pouvoir utiliser les comptes de services gérés :

- Les ordinateurs hébergeant les applications à configurer doivent être équipés de Windows Server 2008 R2 ou Windows 7,

- Les domaines dont le niveau fonctionnel est Windows Server 2008 R2 supportent nativement la gestion automatique des mots de passe et des SPN,  

- Si le domaine n’est pas au niveau fonctionnel Windows Server 2008 R2 mais que le schéma Active Directory a été mis à jour au niveau Windows Server 2008 R2 les comptes de services gérés peuvent être utilisés, la gestion automatique des mots de passes de ces comptes sera possible mais pas la gestion automatique des SPN

- Pour utiliser les comptes de services gérés dans des domaines Windows Server 2008, Windows Server 2003 ou des domaines mixtes il faut tout d’abord procéder aux actions suivantes :

           1- Exécuter adprep /forestprep au niveau de la forêt AD

           2- Exécuter adprep /domainprep dans chaque domaine où on souhaite utiliser le comptes de services gérés

           3- Avoir un contrôleur de domaine Windows Server 2008 R2 ou Windows Server 2008 avec Active Directory Management Gateway Service ou Windows Server 2003 avec Active Directory Gateway Service, Active Directory Management Gateway Service permet l’utilisation des commandes PowerShell nécessaires à la gestion des comptes de services gérés

- Pour utiliser les commandes PowerShell nécessaires à l’administration des comptes de services gérés au niveau des ordinateurs clients sur lesquels les applications doivent être configurées on doit avoir installé le Framework .NETainsi que le module Active Directory pour Windows PowerShell

Installation des pré-requis sur Windows Server 2008 R2

  1. Démarrer la console Server Manager

image

  1. Sélectionner Features puis cliquer sur Add Features   

image 

  1. Sélectionner  .NET Framework 3.5.1 Features

image 

  1. Sélectionner  Active Directory module for Windows PowerShell sous Remote Server Administration Tools |  Role Administraion Tools | AD DS and AD LDS Tools

image 

  1. Cliquer sur Next

image 

  1. Cliquer sur Install

image 

  1. Redémarrer le serveur si nécessaire

 

Installation des pré-requis sur Windows 7

  1. Télécharger Remote Server Administration Tools for WIndows 7
  2. Installer la mise à jour
  3. Ajouter les fonctionnalités .NET Framework 3.5.1 et le module Active Directory module for Windows PowerShell
  4. Redémarrer l’ordinateur

 

Création et configuration d’un compte de service géré

  • Ouvrir une invite PowerShell  Active Directory

image 

  • Créer le compte de services en exécutant la commande suivante :
    New-AdServiceAccount <Nom Du Compte>  -AccountPassword (ConvertTo-SecureString –AsPlainText “<mot de passe>” –Force) –Enabled $true –Path “CN=Managed Service Accounts,DC=<Domain Name>,DC=COM”

image 

  • Associer le compte de service à l’ordinateur client en exécutant la commande suivante :
    Add-ADComputerServiceAccount –Identity <Nom Ordinateur> –ServiceAccount <Nom du compte>

image 

  • Installer le compte de service sur l’ordinateur client (cette commande soit être exécutée sur le poste qui utilisera le compte de service géré)
    Install-ADServiceAccount –Identity <Nom du compte>

image 

  • Vérifier que le compte de service à été bien affecté au compte de la machine au niveau Active Directory en explorant les propriétés de l’objet ordinateur en question avec ADSI Edit et en cherchant l’attribut msDS-HostServiceAccount   

 image

Utilisation du compte de service

Nous allons maintenant utiliser un compte de service géré pour démarrer le services SQL Server Reporting Services au niveau d’un serveur Windows Server 2008 R2.

  • Double cliquer sur le service SQL Server Reporting Services au niveau de la console Services 

 image

  • Au niveau de l’onglet Log On cocher This account et cliquer sur Browse afin de localiser le compte de service, ou taper le nom du compte au format <Nom du Domaine>\<Nom du compte>$ , laisser le mot de passe vide et cliquer sur Apply puis sur Ok     
    Attention : si vous tapez le nom du compte à la main il faut ajouter un $ à la fin. 
    image  
  • Démarrer ou redémarrer le service

image 

  • Vérifier que le service a bien démarré malgré la fait que le mot de passe n’a pas été saisi !

Pour plus de détails, vous pouvez consulter les articles suivants :