Windows Failover Cluster: Introduction à la notion de paxos tag

Mis en avant

Il y a quelques jours, mon collègue Nathan Courtine et moi étions en charge d’une nouvelle implémentation d’une infrastructure AlwaysOn à base de groupes de disponibilités. Une des étapes importantes dans notre approche consiste à éprouver l’architecture en place face à différents simulation de problème qui pourraient potentiellement survenir. Notre matrice de test inclus un scénario de récupération suite à un désastre avec redémarrage en mode quorum forcé.

Redémarrer un cluster à basculement dans un tel mode implique l’exécution de routines internes sur la base de données interne d’un cluster. Cette dernière utilise notamment un algorithme nommé Paxos pour garantir que les changements survenus sur un nÅ“ud soient répliqués de manière atomique sur le reste de membres de la topologie. Qu’est que Paxos exactement? Pour être honnête, j’avais déjà certains enregistrements dans le journal du cluster évoquant ce sujet et je n’avais jamais vraiment pris le temps de regarder plus précisément à quoi cela correspondait …

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

SQL Server 2016 RC3: le framework 3.5 n’est plus requis pendant l’installation

Mis en avant

Comme vous le savez certainement tous, la dernière release candidate de SQL Server 2016 (RC3) est sortie il y a quelques jours. Vous pouvez trouver l’annonce ici. Comme d’habitude, après avoir téléchargé et installer les binaires depuis mon abonnement MSDN, j’ai installé en premier lieu la couche du système d’exploitation (Windows Server 2016 TP4) en utilisant mon jeu de scripts automatisés. Je suis sûr que vous êtes convaincu qu’une automatisation de certaines étapes d’installation permet d’éviter de gagner du temps pour des tâches répétitives mais quelques fois nous pouvons perdre l’attention sur quelques détails intéressants.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

Windows Server 2016: Présentation de Storage Spaces Direct

Mis en avant

N’avez-vous jamais entendu parlé de la fonctionnalité Storage Spaces introduit avec Windows Server 2012? C’est une fonctionnalité de stockage intéressante qui permet d’utiliser des fonctionnalités de stockage comme la virtualisation, les RAID, provisionnement thin ou thick, volumes de cluster partagés (CSV), réparation de fichiers etc … Windows Server 2012 R2 a également introduit quelques améliorations comme le tiering de stockage, write-back caching, déduplication, le support de parité pour les clusters à basculement, la prise en charge des enclosures de disques (JBOD) … un ensemble de fonctionnalités de stockage d’entreprise et nous sommes loin des premiers niveaux de RAID logiciels avec Windows 2003!

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

Windows Server 2016: présentation de la fonctionnalité stretch cluster

Mis en avant

Continuons avec une nouvelle fonctionnalité de haute disponibilité fournit avec la prochaine version de Windows. Dans mon blog précédent, j’ai abordé une autre nouvelle fonctionnalité « Site Awareness » qui fournit une configuration plus flexible des priorités de basculement de ressources de cluster ainsi que qu’une gestion plus granulaire des seuils de hearbeat en introduisant le concept de site. Cette fois nous parlons de stretch cluster. Qu’Est-ce que cela? He bien introduisons tout d’abord le concept par quelques expériences clients pour lesquels nous avons introduit la notion de haute disponibilité via les cluster à basculement Windows.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

SQL Server 2016: nouveaux paramètres de bases de données partie II

Mis en avant

Dans ce billet, continuons avec d’autres options de niveau bases de données livrées avec SQL Server 2016 RC0. Nous commencerons avec la première de mes options préférées: configuration du NAXDOP pour une base de données individuelle! J’espère vraiment que les applications comme SharePoint qui exigent une limitation du maxdop à 1 au niveau de l’instance exploiteront ce nouveau type d’option à l’avenir.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

SQL Server 2016: nouveaux paramètres de bases de données

Mis en avant

Est-ce que vous vous souvenez des nouvelles capacités livrées avec la release CTP2 de SQL Server 2016 à propos de la base de données tempdb? Je discutais notamment des traces flags 1117 et 1118 devenus inutiles pour tempdb car depuis 2016 ceux-ci sont appliqués de manière implicite et automatique.

D’autres news sont arrivées entre temps avec la RC0 avec d’autres paramètres de niveau bases de données tels que AUTOGROW_SINGLE_FILE / AUTOGROW_ALL_FILES ainsi que MIXED_PAGE_ALLOCATION sont apparus et vont respectivement remplacer les traces flag 1117 et 1118 mais dans le cadre d’une base de données utilisateur en particulier. Ceci est une vraie bonne nouvelle car nous allons pouvoir bénéficier désormais d’une configuration beaucoup granulaire par rapport à une charge de travail s’exécutant pour une ou plusieurs bases de données cibles.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

SQL Server 2016 : nonclustered columnstore index et aggregate pushdown

Mis en avant

Avez-vous manqué cette nouvelle fonctionnalité nommée aggregate pushdown incluse avec les index columnstore? Je me souviens, pour ma part, d’en avoir entendu parlé la première fois en lisant le blog de Niko Neugebauer ici qui couvre déjà bien le sujet (principe, avantages et inconvénients)

Pourquoi écrire un nouveau billet ici? Eh bien tout simplement parce que depuis le billet de blog de Niko, cette fonctionnalité a été améliorée and je voulais l’éprouver avec un scénario client réel (mais simplifié ici). Par ailleurs, il est vrai que je n’ai pas mentionné cette fonctionnalité lors de ma dernière présentation aux dernières journées SQL server concernant les technologies In-Memory 2016 et l’analyse opérationnelle avec Frédéric Pichaut (Ingénieur support Microsoft) and c’était l’occasion de me rattraper dans billet

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

Chute de l’espérance de vie d’une page mais ne paniquez pas tout de suite!

Mis en avant

Il y a quelques semaines de cela, j’ai eu une discussion intéressante avec un de mes clients a propos de la surveillance du fameux page life expectancy (ou PLE). Il me demandait si cela était une bonne pratique de surveiller sa valeur parce qu’il avait remarqué une grosse chute de ce dernier en dessous des recommandations en vigueur et ceci durant la nuit ou quelques fois pendant la journée. En plus, il craignait d’être déranger la nuit à cause de tâche de maintenance qui s’exécuterait sans impact sur l’activité business à ce moment là.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

SQL Server AlwaysOn: Lorsqu’un listener devient le cluster et vis versa

Mis en avant

Parlons cette fois d’une histoire plutôt fun et qui concerne une problématique intéressante à laquelle j’ai eu à faire face il y a quelques mois chez un de mes clients. A la base, le problème concernait uniquement la création d’un listener de groupe de disponibilité mais après avoir tenté de supprimer le groupe de disponibilité, mon client s’est aperçu rapidement que cette suppression ne pouvait plus se faire et encore plus étrange, il s’est aper4u que le nom réseau virtuel (VNN) associé au listener correspondait maintenant à l’objet d’ordinateur virtuel du cluster (VCO) lui même!

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

NOLOCK n’est définitivement pas ce que vous croyez

Mis en avant

Pour ceux qui croient encore qu’utiliser le hint nolock se prémunit contre tout verrou, lisez la suite de ce billet. J’avais déjà écrit un billet précédent sur le sujet il y a 3 ans environ, lorsque j’étais chez un client et que nous avions eu une discussion intéressante sur ce type de hint placé dans les requêtes de Reporting. Cette fois, j’ai pu expérimenté chez un autre client, une problématique de verrouillage intéressante en utilisant ce même hint.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server