mardi 14 septembre 2021

Always On basic : forcer plusieurs groupes de disponibilité à basculer

Avec les groupes de disponibilité  "basiques" en édition standard, chaque base a son propre groupe de disponibilité. Il n'est donc en principe pas possible de basculer un ensemble de bases de données comme on peut le faire avec une édition Enterprise.

Cela pose un problème majeur lorsque des applications ou des requêtes nécessitent la présence de plusieurs bases sur le même serveur pour fonctionner : requêtes multi-bases...

Une solution, bancale il est vrai mais qui peut dépanner, consiste à configurer plusieurs groupes, mais :

  • Un seul groupe a un listener, auquel se connecteront les applications
  • Si il y a bascule d'un seul groupe, il faut forcer le basculement de tous les autres : ainsi l'application retrouvera toutes les bases dont elle a besoin une fois l'opération effectuée.

Cet article vous propose de mettre en place cette configuration.

Lire la suite...

dimanche 8 août 2021

Activer l'audit SQL Server

Par les temps qui courent, la sécurité des accès à nos serveurs devient une forte préoccupation. On veut donc savoir qui tente de se connecter,  échoue ou réussit.

Une configuration courante consiste à enregistrer les échecs de connexion dans l'errorlog de SQL Server. Ce qui est dommage, c'est la pollution que cela génère dans ce journal, encore bien pire si on veut aussi enregistrer les connexions réussies.

Et si nous activions l'audit de SQL Server ? Plutôt que d'enregistrer tout cela dans l'errorlog, on oublie qu'il existe cette fonctionnalité bien plus puissante, qu'on pourrait presque activer par défaut sur tout serveur un peu sensible.

Cet article vous permet de mettre en place cette configuration.

Lire la suite...

lundi 12 juillet 2021

Changer de nom de serveur SQL

Une question fréquemment posée : quelles opérations sont nécessaires pour changer le nom d'un serveur SQL Server ?

Voici quelques détails sur le sujet, ainsi que la procédure que j'utilise lorsque je déploie des machines "généralisées" avec sysprep, sur lesquelles SQL Server est déjà installé.
 

Lire la suite...

mercredi 16 juin 2021

Un petit aperçu du fonctionnement de l'optimiseur

Le composant qui détermine le plus la performance d’un SGBDR est son optimiseur. Comme vous le savez sûrement déjà, le moteur de base de données adapte son plan d'exécution au contexte : il fait cela grâce à une estimation des cardinalités, ce qui lui permet de savoir approximativement quel nombre de ligne serait renvoyé pour chaque prédicat ou jointure de la requête.

Dans cet article, nous allons examiner son fonctionnement avec une requête simple.

Lire la suite...

mercredi 12 mai 2021

Installations rapides

Si comme moi vous déployez fréquemment des instances SQL Server pour des tests divers et que vous êtes pressé, le plus rapide est de le faire avec un fichier de configuration.

Dans cet article, un exemple de fichier de configuration compact pour une installation simple.

Lire la suite...

lundi 5 avril 2021

SSMS : copier sa liste de serveurs inscrits sur un autre ordinateur

Dans SQL Server Management Studio, la liste des serveurs inscrits est une fonctionnalité bien pratique. Ma propre liste comprend 260 serveurs : les miens et ceux de certains de mes clients. Maintenant que le travail à distance est une réalité quotidienne, j'ai besoin de transférer tout cela de mon ordinateur portable à mon ordinateur de bureau.

Il existe bien une fonction d'exportation et d'importation dans SSMS, le seul inconvénient est qu'il n'est pas possible de transférer les mots de passe (ceux pour les connexions SQL) : ils sont chiffrés avec la clé de l'utilisateur. En changeant d'ordinateur, l'importation d'un fichier embarquant les mots de passe chiffrés se passe mal (et d'importer un tel fichier peut même faire planter SSMS !).

Je n'ai pas vraiment envie de resaisir 200 mots de passe, et heureusement il existe une solution !

Lire la suite...

dimanche 4 avril 2021

Ménage de printemps

Il y a quelques tâches ménagères d'administration qui sont trop souvent oubliées : le nettoyage des journaux et des historiques !
Si ce n'est pas fait, on finira par se retrouver avec :

  • Une base de données msdb géante
  • Des problèmes de temps de réponse dès qu'il faut supprimer une base de données (avec son historique de backup géant...)
  • De mauvaises performances pour interroger l'historique des travaux ou des sauvegardes
  • Des milliers de fichiers dans le répertoire "log" de SQL Server
  • ...

Voici quelques requêtes, nous en profitons pour explorer quelques nouvelles DMV et procédures stockées étendues...

Lire la suite...

mardi 16 février 2021

SSMS InfoReports v7

La nouvelle version (v7) de mes custom reports pour SQL Server Management Studio est disponible sur Github : https://github.com/datafly/SSMSInfoReports

Elle intègre maintenant 13 rapports, dont les derniers en date qui étaient présentés ici : Always On AG et Jobs Planning History.

Tous les rapports ont fait l'objet de diverses améliorations.

Bon téléchargement !

jeudi 10 décembre 2020

Nouvelle vidéo : Data Masking avec SQL Server

Si vous utilisez SQL Server et vous vous sentez concerné par la protection des données personnelles (RGPD), regardez cette vidéo.
Vous verrez ici que la fonctionnalité de Dynamic Data Masking qui existe dans SQL Server, bien que facile à mettre en oeuvre, est facilement contournable par un utilisateur.
Et pour compléter, il y a aussi une petite démo de Static Data Masking avec l'outil Red-Gate Data Masker. Là c'est du sûr, mais c'est du lourd...

jeudi 10 septembre 2020

La vidéo du Power Saturday 2020

La video de ma présentation au Power Saturday 2020 est maintenant disponible : SQL Server 2019, de l'intelligence sous le capot. Le Power Saturday s'est tenu le 6 juin dernier, entièrement en virtuel cette année (Covid oblige).

Lors de cette session assez avancée, co-présentée par mon collègue Frédéric Brouard et moi-même, nous avons voulu montrer les améliorations de l'optimiseur de SQL Server dans ses versions 2017 et 2019. Et on y voit qu'il y gagne de l'intelligence, de quoi vous donner à réfléchir pour upgrader vers les dernières versions si ce n'est pas déjà fait. Les fonctionnalités suivantes sont expliquées et démontrées :

  • encapsulation des fonctions scalaires
  • feedback d'allocation mémoire
  • mode batch en row store
  • compilation différée des variables tables
  • jointures adaptatives
  • paramétrage automatique

La vidéo dure une heure, prévoyez une bière et des cacahuètes...

Le lien vers la présentation en pdf

Le lien vers les scripts (les bases de données utilisées sont trop volumineuses pour être disponibles en ligne)

- page 2 de 17 -