Windows 2016 disponible au téléchargement

Les abonnés MSDN peuvent à présent télécharger la dernière version de l’OS Serveur.

image

Si vous n’avez pas d’abonnement vous permettant le téléchargement, la version d’essai librement téléchargeable est disponible depuis quelque jours.

Happy download !

Publié dans Windows | Tagué | Laisser un commentaire

24HOP – Installer SQL Server sous Docker – Slides et vidéo enfin disponibles

Si vous avez loupé l’édition Française des 24 HOP, les vidéos sont disponibles ici.

Les slides et démos de ma session, consacrée à Docker et SQL Server Express, sont accéssibles sur mon OneDrive public.

Enjoy

Publié dans Docker, SQL Server | Tagué , , , | 1 commentaire

SQL Server 2016 supporte Windows Server 2016 Storage Spaces Direct

La nouvelle a été publiée il y a quelques jours sur le blog SQL Server. Il est à présent possible d’installer un cluster de basculement SQL Server (FCI) sur une infrastructure hyper-convergée, donc sans faire appel à un stockage partagé de type SAN (ou bien à des mécanismes de recopie de blocs enter volumes locaux comme SIOS Datakeeper et consorts).

Storage Spaces Direct with SQL Server

Il y a un peu plus d’un an, j’ai publié un article sur le sujet. Avec un gros Warning sur le fait que la configuration n’était pas supportée. Et bien, avec les versions RTM de Windows 2016 et SQL Server 2016, il est a présent supporté d’installer un FCI sur un stockage de type Storage Spaces Direct (S2D pour les intimes).

J’en ai profité pour remonter rapidement une plateforme de tests. Les scripts fournis à l’époque fonctionnent globalement, même si de légères différences sont apparues. Voici une version à jour permettant la construction du S2D. Un cluster 4 nœuds, et 2 instances en cluster.

1- Installation de Windows 2016 édition datacenter, ajout des serveurs dans le domaine

2-Paramétrage Windows

# "High performance", "Balanced", "Power saver"
function SetPowerPlan([string]$PreferredPlan) 
{ 
    Write-Host "Setting Powerplan to $PreferredPlan" 
    $guid = (Get-WmiObject -Class win32_powerplan -Namespace root\cimv2\power -Filter "ElementName='$PreferredPlan'").InstanceID.tostring() 
    $regex = [regex]"{(.*?)}$" 
    $newpowerVal = $regex.Match($guid).groups[1].value 

    # setting power setting to high performance 
    powercfg -S  $newpowerVal 
}

	
# Set power option
SetPowerPlan "High performance"


Install-WindowsFeature -Name Net-Framework-Core -Source D:\sources\sxs
Install-WindowsFeature -Name Failover-Clustering  
Install-WindowsFeature -Name File-Services
Install-WindowsFeature -Name RSAT-Clustering      
Install-WindowsFeature -name RSAT-Clustering-Mgmt 

# disable open server manager at logon
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\ServerManager' -Name DoNotOpenServerManagerAtLogon -Value 1
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\ServerManager' -Name CheckedUnattendLaunchSetting  -Value 0
 
# enable RDP
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections -Value 0
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1
    
# disable FW / testing purpose
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

3- Ajout de disques de données sur les 4 serveurs (attention, ne pas initialiser ni formater ces disques)

4 – Formation du cluster

Test-Cluster -Node Win16S2D1,Win16S2D2,Win16S2D3,Win16S2D4 -Include "Storage Spaces Direct",Inventory,Network,"System Configuration"  

New-Cluster -Name ClustS2D -Node Win16S2D1,Win16S2D2,Win16S2D3,Win16S2D4 -NoStorage

5- Nettoyage des disques et activation du S2D.

icm (Get-Cluster -Name ClustS2D | Get-ClusterNode) {  
    Update-StorageProviderCache  
    Get-StoragePool |? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -ErrorAction SilentlyContinue  
    Get-StoragePool |? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -Confirm:$false -ErrorAction SilentlyContinue  
    Get-StoragePool |? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -ErrorAction SilentlyContinue  
    Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue  
    Get-Disk |? Number -ne $null |? IsBoot -ne $true |? IsSystem -ne $true |? PartitionStyle -ne RAW |% {  
        $_ | Set-Disk -isoffline:$false  
        $_ | Set-Disk -isreadonly:$false  
        $_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false  
        $_ | Set-Disk -isreadonly:$true  
        $_ | Set-Disk -isoffline:$true  
    }  

Get-Disk |? Number -ne $null |? IsBoot -ne $true |? IsSystem -ne $true |? PartitionStyle -eq RAW | Group -NoElement -Property FriendlyName  

} | Sort -Property PsComputerName,Count


Enable-ClusterStorageSpacesDirect

Un disque CSV est automatiquement créé par la commande Enable-ClusterStorageSpacesDirect et porte le nom de ‘S2D on ClustS2D’

6 – Création du volume

New-Volume -StoragePoolFriendlyName 'S2D on ClustS2D' `
           -FriendlyName VDSQL01 `
           -PhysicalDiskRedundancy 2 `
           -FileSystem CSVFS_REFS `
           -Size 20GB

Il ne reste ensuite qu’à installer plusieurs instances SQL Server en FCI en utilisant le disque CSV (marche à suivre ici ou ).

And that’s all !

 

imageimageimage

J’aurais aimé ne plus voir le GUID du pool lors du choix du volume dans l’installation de l’instance SQL, mais cela n’a pas évolué. Dommage.

Je reste persuadé que ce type d’infrastructure est ce vers quoi nous devons tendre dans l’avenir. Non pas que je n’aime pas les SAN et tous les avantages qu’ils offrent, mais avec les disques flash attachés localement (sans stack AHCI) ou dans un emplacement DIMM, la performance est clairement à l’avantage des disques locaux.

Donc, d’un point de vue performance, ce type d’architecture est tout a fait viable. D’autant que la volumétrie peut tout a fait être au rendez vous en utilisant les ressources de chacun des nœuds qui peuvent mixer des disques ultra rapides (NVMe, NVDIMM), des disques SSD Sata ou SAS, voire des disques rotatifs.

D’un point de vue architecture, les principaux acteurs, dont Microsoft, poussent énormément vers le “Cloud”. Et monter un FCI avec un SAN dans un cloud public, on oublie. Alors qu’une infrastructure hyper-convergée peut tout à fait se satisfaire des contraintes d’un cloud public Et être mise en œuvre sur vos serveur dans vos datacenters. On retrouve de la résilience et de la disponibilité, tout en ajoutant de manière extrêmement simple la répartition géographique des nœuds si nécessaire.

Si vous souhaitez mettre en œuvre un cluster de basculement ou bien des groupes de disponibilités, n’hésitez pas à me contacter afin de vous conseiller sur le choix de la solution la plus appropriée à vos besoins.

Enjoy

Publié dans SQL Server, Windows | Tagué , , , , | Laisser un commentaire

SQLSaturday #568-Madrid-Septembre 2016

Vous connaissez les SQL Saturday ? Des évènements gratuits où  des passionnées viennent partager les expérience et leur savoir (faire) autour de SQL Server … A Paris, le dernier évènement a eu lieu en Juin 2016. Vous n’étiez pas disponibles ? Ah, oui, il faisait beau, et puis un Samedi par grand beau temps, pourquoi s’enfermer pour quelques heures de formation ???

Bien qu’à rallonge (dans le sud en tout cas Sourire ), l’été se termine tranquillement. Pourquoi ne pas le prolonger un weekend de plus ? Et à Madrid ?

i6q063x[1]

En voilà une bonne idée. Alors, n’hésitez pas, inscrivez vous au SQL Saturday Madrid, le 24 septembre !

24 sessions, en anglais ou espagnol, délivrées par des MVPs, des MCMs, des employés Microsoft sur des thèmes BI, Cloud ou moteur relationnel.

Je présenterai une session autour de la montée en charge SQL Server (comme cela a été le cas au SQL Saturday Paris).

Une bonne occasion, en somme de profiter de la vie nocturne de la capitale Espagnole après les sessions et le dimanche. Ou comment joindre l’utile à l’agréable.
4 français seront présent en tant que speakers (Régis, Jean-Pierre, Romain et moi ).

Pour les inscriptions et le planning, c’est par ici

Publié dans Evènements | Tagué | Laisser un commentaire

24HOP–Installer SQL Server sous Docker

Les 20 et 21 septembre 2016 va se tenir la première édition des 24H du PASS en français !

image

Reconnus dans le monde de la donnée comme MVP, MCM ou PFE, nos conférenciers francophones, dispersés dans le monde entier, se feront un plaisir lors de cet évènement de vous apporter EN FRANÇAIS leur contenus passionnant dans le confort de votre maison ou du bureau grâce à la magie des conférences en ligne.

Démarrant à 08h00 GMT, cette série de 24 webinaires consécutifs est étalée sur deux jours, une occasion unique de recevoir les informations les plus à jour sur le développement, l’administration des bases de données, l’intelligence décisionnelle ainsi que les dernières nouveautés de la PowerBI et du Cloud.

Pour ma part, j’aurais le plaisir de présenter une session dans laquelle il sera question de micro services avec l’installation de SQL Server Express sous Docker.

 

image

Les 24HOP Francophones sont un évènement entièrement gratuit grâce au soutien de nos généreux commanditaires et à l’implication des membres de la communauté.

image

Inscrivez-vous dès maintenant et ce même si vous ne pouvez pas assister le jour même, vous recevrez un lien vers les enregistrements de session après. La première session débutera le 20 Septembre à 08h00 GMT. Ne tardez pas, les places sont limitées!

Pour le planning et les inscriptions, c’est par ici

Happy 24HOP Sourire

Publié dans Containers, Evènements, SQL Server | Tagué , , | Laisser un commentaire

Amazon RDS for SQL Server – Support for Native Backup/Restore to Amazon S3

La migration de base de donnée vers Microsoft Azure SQL Databases ou Amazon RDS constitue pour moi un frein majeur pour l’adoption des bases de données en mode PasS. Autant pour du IasS (des VMs dans Azure ou EC2) il était possible de procéder à la migration par des voies classiques, telles que le backup / restaure, autant pour du PaaS il n’est pas possible de procéder de la sorte car l’accès au matériel, aux fichiers, n’était pas permis. Il fallait se tourner vers du BACPAC, SSIS, du BCP ou bien l’excellent utilitaire SQL Database Migration Wizard ou encore le service Amazon AWS Database Migration Service.

N’était pas permis, devrais-je dire. Amazon RDS, rends à présent disponibles les fonctionnalités de Backup et Restore sous la forme de procédures stockées :

  • rds_backup_database – Back up a single database to an S3 bucket.
  • rds_restore_database – Restore a single database from S3

L’idée, pour moi, n’est pas de remplacer les fonctionnalités de sauvegarde fournies en standard par le PaaS et qui permet des restaures en cas de problème (via une IHM autre que SSMS certes, mais on respecte bien le RPO fixé) mais bien de fournir un moyen supplémentaire de migrer vers cet environnement, ou bien de procéder à une sauvegarde que l’on pourra restaurer sur un server OnPrem à des fins de développement ou débogage.

Je tiens à saluer cette initiative qui va dans le bon sens. Cela va clairement simplifier la vie de biens des DBAs engagés dans un projet de migration. Espérons que cela donne aussi des idées à Microsoft pour proposer une fonctionnalité identique sur Azure SQL Databases.

Il y a quelques semaines, Amazon annonçait également le support de l’authentification Windows pour RDS.

Cela fait maintenant quelques années que je travaille sur des services Amazon (EC2 ou RDS) et Microsoft Azure (VMs et SQL Azure). Si vous avez besoin de conseil, vous pensez migrer, vous souhaitez mettre en place une nouvelle infrastructure, vous souffrez de problèmes de performance, n’hésitez pas à me contacter

Happy RDS

Publié dans Amazon RDS, SQL Server | Tagué , , | Laisser un commentaire

Cloner une base de données pour débogage

Le Service Pack 2 de SQL Server 2014 est disponible au téléchargement depuis quelques jours. Généralement, un Service Pack apporte un certain nombre de correctifs, rarement de grosses nouveautés.

Pour cette dernière livraison, un  nouvel ordre SQL est apparu. DBCC CLONEDATABASE permet de cloner une base de données, du moins la structure et les statistiques d’index, à des fins de débogage, lors de la découverte de problèmes de performance. Cela permet de disposer du plan d’exécution estimé identique à celui qui est utilisé en prod sans avoir à recopier l’intégralité de données. Un gain substantiel en terme d’espace disque !

 


DBCC CLONEDATABASE ('AdventureWorks','AdventureWorks_Clone')

image

Auparavant, il fallait utiliser la fonctionnalité d’export d’une base au travers de scripts SQL et de sélectionner l’option permettant l’ajout des statistiques d’index.

Une base en lecture seule est alors créé, permettant ainsi d’effectuer une sauvegarde de la base pour l’utiliser sur un serveur de dev.

image

 

Les fichiers générés portent des noms affublés de numéros a des fins d’unicité. la taille des fichiers est calquée sur la base Model.

image

 

Si l’on souhaite effectuer un SELECT, aucune donnée n’est renvoyée

image

Mais, comme annoncé, les statistiques d’index sont bien présentes :

image

Bon débug

Publié dans SQL Server | Tagué , , | Laisser un commentaire

Installation de SQL Server Data Tools (SSDT)

SQL Server Data Tools, SSDT, anciennement BIDS (Business Intelligence Development Studio) est l’utilitaire permettant de créer les lots SSIS, de concevoir des cubes SSAS et des rapports SSRS. Téléchargeable séparément de SQL Server depuis SQL Server 2014, le produit n’était plus fourni sur le média d’installation de SQL Server.

Et puis une autre SSDT est apparu dans la gamme des outils de développement. Totalement intégré à Visual Studio, il permet de créer des bases, des tables, des vues, des procédures ou fonctions, etc …, en liaison avec Team Foundation. Certaines fonctionnalités manquent dans SSMS (comparaison de schéma ou de données) et sont présentes dans SSDT. Les deux utilitaires sont donc utiles, voire nécessaire. Mais “l’arrivée” de ce SSDT a poussé au changement de nom du SSDT “historique” en SSDT-BI.

Et chaque SSDT avait donc propre programme d’installation. Pas très clair me direz-vous!

Absolument. Microsoft se devait d’uniformiser tout cela, de ne fournir qu’un seul SSDT, un seul outil de développement comprenant les différentes fonctionnalités.

C’est enfin le cas. Sourire

Rendez-vous sur la page SQL Server Data Tools (SSDT) pour le téléchargement de la dernière version (le cycle de vie est également différent de celui de SQL Server)

image

Pour l’instant il s’agit d’un Shell Visual Studio 2015, en cliquant on est alors redirigé sur la page spécifique, avec les différentes langues à disposition:

image

Personnellement, je sélectionne systématiquement la version US:

image

Une fois le téléchargement terminé, place à l’installation. Tout comme SSMS, on ne peut qu’apprécier la sobriété de l’assistant qui va à l’essentiel.

imageimageimageimage

Bonne installation

Publié dans SQL Server | Tagué , | 2 commentaires

Installation de SQL Server Management Studio (SSMS)

Depuis la sortie de SQL Server 2016, SQL Server Management Studio n’est plus “livré” avec SQL Server. Le produit devrait donc avoir un cycle de vie et de release totalement décorrélé de SQL Server, avec des mises à jour relativement fréquentes, comme Visual Studio.

Introduit avec SQL Server 2005, SSMS a suivi les évolutions du moteur de base de données. A chaque nouvelle version de SQL Server, nouvelle version de SSMS.

SSMS permet d’administrer (et de développer mais si SQL Server Data Tools – SSDT – propose des fonctionnalités non présentes dans SSMS) SQL Server. Mais également Azure SQL Databases. Or la version PaaS du SGBD évolue (silencieusement) plus rapidement que la version OnPrem. Un setup distinct de SQL Server était disponible depuis SQL Server 2012 SP1.

De fait, il devenait urgent de fournir une version de SSMS en phase avec les évolutions rapides du Cloud.

A présent, un lien permet d’accéder à la page de téléchargement de la dernière version !

image

Des liens permettent de choisi la langue dans laquelle on désire installer le produit.

image

Personnellement, j’opte systématiquement pour une version English (United States) pour éviter les approximations dans la traduction des termes techniques.

Pour cette version (estampillée Aout 2016), l’expérience utilisateur lors de l’installation a totalement été revue. Terminé les écrans de l’assistant d’installation de SQL Server dans lesquels seul SSMS était présent. Il s’agit bien maintenant d’un produit distinct.

imageimageimageimage

Bonne installation …

Publié dans SQL Server | Tagué , | 2 commentaires

Réplication de données vers Azure SQL Databases

SQL Server 2016 est disponible depuis quelques semaines. De part les missions de consulting que j’effectue, je suis en contact avec un certain nombre de sociétés (un peu plus de 120 à ce jour). Cela me permet d’avoir un éventail relativement représentatif de secteurs d’activité, de taille de structure, de niveau de maturité pour la virtualisation ou le cloud, de niveau de compétence des personnes (et de confiance dans les personnes) en charge des serveurs SQL (le DBA par accident n’est pas un mythe …), de configuration matérielle, de niveau de performance attendu, de taille de bases, de RPO ou RTO …

Attention : ne vous méprenez pas, ne voyez aucune connotation négative sur le point relatif à la compétence du DBA. Mais imaginez un parc informatique de 500PCs, 25 serveurs et seulement 2 personnes pour tout gérer, du changement de toner dans l’imprimante au patch d’un serveur RDS, de la téléphonie au serveur de base de données, ou du WiFi à la messagerie. Difficile de trouver du temps pour se former, difficile également de faire valoir à son Boss le bien fondé d’une formation SQL Server représentant 5 ou 10% de son activité.

Bref, j’ai la chance d’avoir un panel large extrêmement intéressant quand il s’agit d’analyser le marché, de voir son évolution, autrement que par l’approche purement technique des fonctionnalités offertes par chaque version de SQL Server.

L’arrivée d’une nouvelle version de SQL suscite généralement des réactions du style : “Déjà, cela va trop vite, impossible de suivre le rythme.”, ou “Excellent ces nouvelles fonctionnalités, on migre quand ?”, ou encore “Moi, de toute manière, je ne l’installerai que lorsque le SP1 sera sorti, cela évite les bugs !”.

J’aurais tendance à éluder la dernière remarque. La stratégie de Microsoft est relativement claire depuis quelques temps : Cloud first, mobile first. Et le cloud pour SQL Server c’est tout simplement Azure SQL Databases, la base de donnée en version PaaS. Les fonctionnalités sont d’abord mises en production sur SQL Azure avant d’être “packagées” dans la version OnPremise que vous et moi installons. Difficile de dire alors que le produit n’est pas testé lorsqu’il y a déjà plusieurs millions de bases en production sur cette version ! Sans compter avec le programme TAP où Microsoft accompagne des clients sur des mises en production alors que el produit n’est pas finalisé.

A présent, il faut se rendre à l’évidence. La virtualisation est monnaie courante pour les bases de données. Même pour des serveurs de type “Tier 1”, fortement sollicités. Attention, toutefois, il faut faire les choses dans les règles de l’art. N’hésitez pas à me contacter le cas échéant.

L’étape suivante, pourrait tout a fait consister à déplacer l’infrastructure sur un cloud public (IaaS) pour bénéficier facilement de redondance (géographique), de services ou de ressources  supplémentaires, etc … J’accompagne également mes clients dans cette démarche, que ce soit sur plateforme Azure, Amazon ou autre. Les VMs chez voter hosteur favori sont à classer dans cette catégorie.

Au bout de la chaine, pour éviter les phases fastidieuses d’installation de l’OS, de SQL Server, le paramétrage ou les sauvegardes des bases de données, il est possible d’opter pour le PaaS, Azure SQL Database.

Pour être tout a fait honnête, cela fonctionne. Plutôt bien même. Le service est rendu, avec un très bon taux de disponibilité. Mais attention à la performance ! Le développement de l’application doit être adapté pour éviter les allers-retours enter le client et le serveur. La latence réseau peut être problématique.

Et puis il reste la phase de migration vers cette base dans le nuages. C’est souvent le point le plus problématique. On ne peut pas faire de restaure database (SVP Microsoft, autorisez au moins le restaure depuis un compte de stockage Azure …).

Il y a la possibilité d’utiliser les BacPacs. Un fichier Zip qui contient a la fois les données et la structure de la base. On peut ensuite déployer ce fichier pour créer la base sur Azure. Fonctionnel, mais j’avoue en pas être fan de cette solution. Imaginez juste ce que cela pourrait donner avec une base de 250 Gb !

Il reste la possibilité de créer le schéma des objets manuellement et de procéder au transfert des données via SSIS ou BCP. Fastidieux. Heureusement que des outils comme SQL Database Migration Wizard (SQLAzureMW) automatisent avec succès ces tâches. Encore une fois pour des très grosses bases, cela peut être loooong (SVP Microsoft, autorisez au moins le restaure depuis un compte de stockage Azure …).

Avec SQL Server 2016, mais la solution set rétro compatibles avec des versions plus anciennes munies du dernier service pack, il est également possible de déplacer des données via la réplication. Principe relativement ancien sur des serveur OnPremise, il est à présent possible d’ajouter en abonné une base SQL Azure. Le champs de possibilités est assez intéressant : de la recopie des données pour du ScaleOut au un portail sur internet pour présenter quelques infos à des clients/partenaires. Le principe peut également être utilisé pour migrer progressivement une base dans le cloud.

La mise en place est plutôt simple, comme on va le voir.

Etape 1 : création de la base sur un serveur dans Azure, via le portail :

image

Si vous n’avez pas encore de serveur, il faut en créer un, ou sinon, aller directement sur Bases de données SQL pour créer l’abonné.

image

Donnez un nom à votre base et sélectionnez le niveau tarifaire correspondant en fait aux performances attendues (pour ce test, le niveau basique est largement suffisant).

image

Cliquer ensuite sur le bouton créer et après quelques secondes la base de donnée est opérationnelle.

image

Il set à présent possible de se connecter à cette base de donnée vie SSMS (vérifiez quand même que le firewall Azure ait bien autorisé votre IP sur le serveur SQL).

image

image

Notez au passage que SQL Azure possède déjà un numéro de version plus élevé que mon serveur SQL 2016 RTM. La notion de mise à jour “continue” est assez intéressante, et pourrait tout a fait être portée sur al version OnPremise, comme Windows en fait.

Il reste à présent à configurer la réplication, d’abord le distributeur et l’éditeur. Ces deux fonctions seront supportées par le serveur SQL 2016. Je ne détaille pas les écrans car il y a rien de nouveau dans el fait de créer une réplication transactionnelle.

image

Il faut à présent configurer l’abonné. En abonnement poussé car il n’y a pas d’agent sur SQL Azure.

imageimageimageimageimageimageimageimageimageimageimageimage

Une fois l’agent de snapshot exécuté, et après quelques secondes, les tables et les données doivent apparaitre sur SQL Azure

image

Les donnes sont visibles dans SSMS

image

et le portail Azure permet de suivre la consommation de ressources.

image

Parfaitement opérationnel et semblable en tous points à un abonnement sur un serveur OnPrem, cette fonctionnalité offre de nouveaux cas d’usage pour SQL Azure.

Il reste qu’Azure SQL Databases est un service managé. Vos bases, elles, ne le sont pas.

Ma société est aujourd’hui en mesure de vous offrir non seulement l’hébergement de vos bases de données, mais aussi leur gestion au quotidien. La puissance du  Cloud associée au service d’un DBA, expert SQL Server. Ni vous avez des questions, contactez moi.

Publié dans SQL Azure, SQL Server | Tagué , , | Laisser un commentaire