Changement une partition existante … pas si facile que cela

Mis en avant

Cette fois, parlons d’un cas client intéressant avec une table partitionnée de 100 GB sous SQL Server 2014. Dans ce contexte, le partitionnement avait pour objectif de sauvegarder de l’espace disque (données d’archives compressées), aider à réduire les temps de maintenance ainsi et les ressources consommées (utilisation des opérations d’index et de statistiques à la partition). Par la même occasion, cela aidera à améliorer les performances de requête sur la table concernée qui se concentre uniquement que sur les commandes récentes des clients.

> 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

Dilemme entre les filtres dynamiques et les requêtes « kitchen sink »

Mis en avant

Etre confronté aux filtres dynamiques est un scénario assez courant avec les applications de gestion ou les ERP. En effet, les utilisateurs voudraient avoir la flexibilité de filtrer and de trier leur données business comme ils veulent afin d’être le plus efficace possible. cibler et opérer rapidement sur les bonnes données est en phase avec les exigences de performances quotidiennes. Du moins c’est ce que j’ai pu noter chez différents clients.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

SQL Server AlwaysOn: le registre est également important pour les groupes de disponibilités

Mis en avant

Il y a quelques mois, nous avons eu à faire à un problème étrange avec un de mes collègues Nathan Courtine chez un de nos clients. Celui-ci concernait un groupe de disponibilité et plus précisément la couche cluster. Je ne dirais jamais assez que les groupes de disponibilités sont dépendants des clusters à basculement et qu’avoir une bonne compréhension des mécanismes internes peut aider au diagnostique.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

Groupes de disponibilités : paramètre session timeout

Mis en avant

N’avez-vous jamais souffert de problèmes de timeout avec les groupes de disponibilités? Si vous jetez un coup d’œil aux différents paramètres dans ce domaine, vous en trouverez une certaine quantité. En effet, il y a des paramètres pour le groupe lui même, les réplicas and pour le cluster également.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

Groupes de disponibilités : réplicas en lecture et impact sur le stockage

Mis en avant

Est-ce que les capacités en lecture seule des groupes de disponibilités ont un impact sur les performances des bases de données? La réponse rapide est oui mais regardons pourquoi dans ce blog post. Premièrement, lorsque l’on veut utiliser les réplicas secondaires en lecture seule, nous activons implicitement le niveau d’isolation de transaction SNAPSHOT quel que soit le niveau d’isolation configuré initialement ou les hints dans les requêtes.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

Envie de faire un benchmark de votre stockage? Il est temps de passer à diskspd

Mis en avant

Comme vous le savez certainement, SQLIO est officiellement dépréciée depuis quelques mois. Pour ma part, j’ai eu l’occasion (peut être la dernière) d’utiliser SQLIO pour un projet client dans le but d’effectuer un benchmark de son stockage et préparer une installation AlwaysOn et groupes de disponibilité. Il est maintenant temps de passer au prochain outil prévu à cet effet: DiskSpd.

> Lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

SQL Server groupes de disponibilités AlwaysOn: réplicas secondaires en lecture seule et reconstruction d’un index hors ligne vs en ligne

Mis en avant

Il y a quelques semaines, j’ai participé à une discussion sur le forum développez.com concernant SQL Server AlwaysOn et les groupes de disponibilités, les stratégies d’indexation et l’impact sur les réplicas en lecture seule, Durant la discussion, un membre du forum affirmait que reconstruire un index en ligne avait moins d’impact sur un réplica secondaire en lecture seule qu’une ré-indexation hors ligne. J’avoue n’avoir pas être forcément d’accord avec cela mais est-ce la vérité? Vérifions le dans ce billet.

> Pour lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server

SQL Server groupes de disponibilités AlwaysOn et pool de travail hadr

Mis en avant

Lors de mes missions sur SQL Server AlwaysOn et les groupes de disponibilités, les clients me demandent souvent s’il existe des bonnes pratiques et recommandations sur le nombre maximum de bases de données dans un groupe de disponibilité. En réalité, pour répondre à cette question, nous devons garder à l’esprit la relation qu’il y a entre les bases de données et le pool de threads de travail dans ce type d’architecture.

> Pour lire la suite (en anglais)

David Barbarin
MVP & MCM SQL Server