mardi 28 septembre 2010

HardMemoryLimit sur SSAS 2008

Si comme moi vous faites (encore) du tunning d'instances SSAS 2005, vous connaissez certainement les propriétés LowMemoryLimit (LML) et TotalMemoryLimit (TML). L'objet de ce billet n'est donc pas de présenter la fonction de ces deux éléments : pour cela vous trouverez des informations ici (page 92).

Edit du 08/10/2010 : Je viens de tomber sur un post du très bon blog de François Jehl qui explique les subtilités de ce paramétrage : voir ici

AS 2008 introduit une nouvelle propriété pour son modèle de gestion de la mémoire : le HardMemoryLimit (HML). Peu de documents parlent de cette propriété. J'ai trouvé une référence ici (merci Thomas).
Le HML se paramètre de la même manière que le LML et le TML. Il permet de rentrer dans un mode encore plus agressif de nettoyage de la mêmoire : si besoin l'ensemble de la mémoire shrinkable pourra être vidée, de même que les commandes en cours (processing et requête) pourront être annulées.
Attention cependant, de manière analogue aux LML et TML, le HML ne constitue pas une limite physique de consommation de la mémoire, ce qui nous fait d'ailleurs penser que son nom est mal choisi.

Source :

mardi 21 septembre 2010

Modifier le rôle administrateur en XMLA

Dans la série "c'est toujours bon de savoir comment faire autrement", voici une brève présentation de la manière de modifier les rôles serveurs sur SSAS autrement que par Management Studio.
Pour rappel, le rôle serveur est celui qui permet d'être administrateur de l'instance AS (attention, pas du service AS, mais juste de la partie management des données, les droits sur le service sont au niveau de l'OS).
Sur SSMS, nous procédons de la sorte : clic droit sur l'instance, Properties puis Security.
Avec ASCMD, un XMLA avec cette tête permet de se passer de Management Studio (un vraie plaie de temps en temps) :

<Alter AllowCreate="true" ObjectExpansion="ObjectProperties" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
  <Object>
    <RoleID>Administrators</RoleID>
  </Object>
  <ObjectDefinition>
    <Role xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <ID>Administrators</ID>
      <Name>Administrators</Name>
      <Members>
        <Member>
        <Name>Domaine\Nom</Name>
        </Member>
      </Members>
    </Role>
  </ObjectDefinition>
</Alter>

mercredi 15 septembre 2010

Changer l'emplacement du fichier de configuration d'AS (msmdsrv.ini)

Voici une astuce permettant la modification de l'emplacement du fichier de configuration de votre instance SSAS.
Pour rappel ce fichier de configuration contient les propriétés de votre instance SSAS (les MemoryLimit, le chemin de vos fichiers de données, les paramètres du FlightRecorder, etc.).
La modification de son emplacement se fait via l'éditeur de registre. Il faut modifier la valeur d'ImagePath située dans HKLM-SYSTEM-CurrentControlSet-Services puis MSSQLServerOLAPService (pour une instance par défaut) ou MSOLAP$InstanceName (pour une instance nommée). Le chemin du msmdsrv.ini se trouve après l'option -s
Petit conseil, la manipulation doit se faire avec l'instance AS éteinte.

Remarque : si jamais l'emplacement spécifié dans la clé de registre n'est pas le bon (une faute de frappe est si vite arrivée), SSAS va quand même démarré et va créer un fichier de configuration tout neuf à l'emplacement spécifié, mais avec tous les paramètres par défaut. Prudence donc si vous avez customisé votre fichier, car dans ce cas, les valeurs de vos paramètres seront celles que nous trouvons à l'installation de l'instance.