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

Bench IOPS Intel P3700 Samsung 950Pro

J’avais annoncé il y a quelques jours un test d’IOPS à venir. Ayant eu un peu de temps pour réaliser ces mesures brutes, je vous livre ici les résultats. Notez tout de même que j’ n’ai pas spécialement cherché à optimiser quoi que ce soit au travers de drivers ou de configuration spécifique. Le test est brut : plug and bench …

Même si ces deux disques ne concourent pas tout a fait dans la même catégorie (la carte Intel étant relativement plus professionnelle), il me paraissait néanmoins intéressant de les confronter. Les cartes PCI ont fait leur preuves dans le monde professionnel, les disques SSD progressent en terme de part de marché, bien que le cout d’un disque 800GB soit encore élevé. Et puis, on sent poindre une “nouvelle” technologie, les disques NVMe, encore du flash (pour les curieux lire l’article sur Tom’s Hardware).

Au moment du déballage, on reste un peu sur sa faim avec le Samsung 950Pro. Petit packaging, remarque pour une taille de 8 x 2.2 pas la peine d’en faire plus. 61tt0bD45aL._SL1034_

Le déballage de la carte Intel P3700 a quelque chose de plus “pro” encore une fois. Emballée avec soin, elle ne devrait pas souffrir du transport. Presque, les carets FusionIO que j’avais utilisé sur un cluster étaient moins bien loties.

41430N-UeML

Mais quel bonheur de déballer ces jouets …

Une fois connectées dans un de mes serveurs (Windows 2012R2), place au test via SQLIO.

image

Effectivement on n’est pas déçu ! J’attendais des IOPS, ils sont au rendez-vous. Côté bande passante, ce n’est pas trop mal non plus.

image

Mais, généralement, on attend surtout une faible latence. Là encore, la copie rendue est tout a fait correcte.

image

De quoi laisser présager de la performance d’un serveur SQL … Sourire 

Sauf qu’aujourd’hui, une trèèèèsssssss grosse majorité des serveurs SQL sont virtualisés. Ce domaine est en train d’évoluer et l’hyper-convergence pointe le bout de son nez. Pour avoir joué avec du Simplivity ou du Nutanix, j’étais resté sur ma faim côté latence écriture. Avec de telles performances il sera possible d’avoir plusieurs tiers sur les machines et augmenter ainsi la performance globale.

J’ai donc créé une VM sur mon serveur. Cette VM Windows 2016CTP5 dispose de 4vCPU et 8 GB de RAM (le but étant de tester les IOs). Le disque OS de cette VM repose sur un disque SSD sur mon serveur. J’ai également ajouté deux VHDX, un sur le 950 Pro et l’autre sur la P3700. Le comparatif des IOs physiques et virtuel laisse entrevoir les efforts qui sont fait pour diminuer le surcout lié à la virtualisation.

image

image

Mis à part les lectures en blocks de 8 sur la carte Intel, les courbes sont relativement proches, voire confondues ! Excellent.  Idem pour la latence.

A venir : un test DVDStore sur SQL2016 en utilisant ces disques …

Publié dans Matériel | Tagué , , , | Laisser un commentaire

Teasing bench IOPS

La livraison du jour …

2016-07-04 13.51.40

Destinée à un de mes serveurs de test, elle ferait des envieux parmi bon nombre de serveurs en production …

Samsung 950Pro

image

Intel DC P3700

image

Un petit comparatif performance à venir, donc, autant sur de l’IO pur que sur un workload SQL.

Stay tuned !

Publié dans Matériel | Tagué , , , | Laisser un commentaire

Renouvèlement MVP

Alors que je finissais d’écrire un article sur l’installation de SQL Server Express dans un environnement Docker, un email est arrivé dans ma BAL.

image

Cher Microsoft,

Merci ! C’est avec plaisir que je me vois remettre le titre de MVP Data Platform pour uen année supplémentaire.

Pour faire écho à mon dernier article, voici comment attacher plusieurs bases de données à l’instance SQL lors lancement d’un conteneur docker :

docker run -p 61433:1433 
           -v E:/data/:E:/data/ 
           -env attach_dbs="
[
  {
	  'dbName': 'MVP_2009',
	  'dbFiles': ['E:\\Data\\MVP_2009.mdf',
	              'E:\\Data\\MVP_2009.ldf']
  },
  {
	  'dbName': 'MVP_2010',
	  'dbFiles': ['E:\\Data\\MVP_2010.mdf',
	              'E:\\Data\\MVP_2010.ldf']
  },
  {
	  'dbName': 'MVP_2011',
	  'dbFiles': ['E:\\Data\\MVP_2011.mdf',
	              'E:\\Data\\MVP_2011.ldf']
  },
  {
	  'dbName': 'MVP_2012',
	  'dbFiles': ['E:\\Data\\MVP_2012.mdf',
	              'E:\\Data\\MVP_2012.ldf']
  },
  {
	  'dbName': 'MVP_2013',
	  'dbFiles': ['E:\\Data\\MVP_2013.mdf',
	              'E:\\Data\\MVP_2013.ldf']
  },
  {
	  'dbName': 'MVP_2014',
	  'dbFiles': ['E:\\Data\\MVP_2014.mdf',
	              'E:\\Data\\MVP_2014.ldf']
  },
  {
	  'dbName': 'MVP_2015',
	  'dbFiles': ['E:\\Data\\MVP_2015.mdf',
	              'E:\\Data\\MVP_2015.ldf']
  },  
  {
	  'dbName': 'MVP_2016',
	  'dbFiles': ['E:\\Data\\MVP_2016.mdf',
	              'E:\\Data\\MVP_2016.ldf']
  }
] "
  sqlexpress
  
Publié dans CV | Tagué | Laisser un commentaire

Installation de SQL Server Express dans un conteneur Docker

Lors de la session que j’ai animé lors de SQLSaturday #510 à Paris, j’ai présenté un certain nombre de techniques de scaleout pour SQL Server.

Une partie des démonstrations s’appuyaient sur SQL Server Express qui fonctionnait dans un environnement Docker sous Windows 2016 (TP5).

Sans vouloir m’étendre sur la notion de micro service qui semble être une brique incontournable pour les prochaines années, du moins côté IT, je trouvais intéressant d’aborder ce point qui peut faciliter le déploiement rapide d’une instance, à des fins de tests ou pourquoi pas de production. Couplé à des outils tiers et au service broker, j’ai présenté des scénarios de load balancing et de multicasting apte à supporter un grand nombre de connexion.

Tous les script, ainsi que le slides de la sessions sont disponibles. Certains ont souhaité voir de manière plus détaillée la mise en œuvre de SQL Server sous Docker.

Voici brièvement les quelques étapes, relativement simples, à suivre pour construire votre propre environnement.

Dans un premier temps, installation de votre hôte. Il peut s’agir d’une machine physique ou bien d’une machine virtuelle. Dans cette dernière optique, votre hyperviseur et votre processeur doivent être en mesure de le supporter. De plus s’il s’agit d’une VM, veillez quand même à ce qu’elle soit doté d’un minimum de 8GB de mémoire.

Il n’y a pas d’intérêt à détailler l’installation de Windows 2016 (Technical preview 5 pour cette démo). Next Next Next Finish.

Une fois terminé, il faut ajouter la fonctionnalité “Containers”. J’en profite pour ajouter le Framework 2.0 (et 3.5) nécessaires au SQL Server 2014.

Install-windowsfeature NET-Framework-Features -source D:\Sources\sxs
Install-WindowsFeature containers

image

L’étape suivant consiste à “installer” Docker sur le serveur.

New-Item -Type Directory -Path 'C:\Program Files\docker\'
Invoke-WebRequest https://aka.ms/tp5/b/dockerd -OutFile $env:ProgramFiles\docker\dockerd.exe
Invoke-WebRequest https://aka.ms/tp5/b/docker -OutFile $env:ProgramFiles\docker\docker.exe
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Docker", [EnvironmentVariableTarget]::Machine)

image

Ensuite il suffit d’enregistrer Docker en tant que service.

cd "C:\Program Files\Docker"
.\dockerd --register-service
Start-Service Docker

Une fois fait, je suggère de redémarrer votre serveur.

Ensuite, il faut installer le container image package provider suivi de l’ajout d’une image Windows Server Core afin de supporter l’instance SQL.

# install the container image package provider 
Install-PackageProvider ContainerImage -Force

# Install the Windows Server core image. 
Install-ContainerImage -Name WindowsServerCore

image

En fonction de la vitesse de votre connexion internet, cela peut prendre un certain temps. Si vous disposez d’un fichier WIM disponible localement, vous gagnerez alors du temps en utilisant la commande Install-ContainerOSImage.

Si on exécute un “docker images”, malheureusement on ne voit …. rien.

Il suffit de stopper et redémarrer Docker afin que l’image téléchargée soit visible. Afin de pouvoir construire une image SQL a partir de l’image WindowsServerCore, il faut alors la tagger comme étant la dernière disponible.

docker tag 50eb6792a3d4 windowsservercore:latest
docker images

image

Afin de pouvoir construire un image, un fichier Dockerfile est nécessaire. Il contient toutes les instructions à exécuter au moment de la création de l’image et de son exécution.

J’ai choisi d’utiliser le fichier fourni par Buc Rogers. ma commande PowerShell étant exécutée avec le répertoire c:\Users\Administrator comme répertoire courant, cela justifie la présence du “cd …” à la fin du script pour se positionner dans le répertoire contenant le fichier Dockerfile. Bien entendu vous pouvez travailler dans un autre répertoire.

wget https://github.com/brogersyh/Dockerfiles-for-windows/archive/master.zip -outfile master.zip
expand-archive master.zip
cd C:\Users\Administrator\master\Dockerfiles-for-windows-master\sqlexpress 

Note : Il y a quelques jours, une nouvelle version a été publiée par Perry Skountrianos.

Il ne reste plus qu’à créer un image contenant SQL Server Express “héritant” de l’image Windows Server Core.

docker.exe build -t sqlexpress .

Le fichier Dockerfile est configuré pour télécharger SQL Server express directement chez Microsoft. Vous pouvez également modifier ce paramètre pour utiliser un fichier sur un site Web de votre intranet voire faire une copie depuis un partage de fichier.

On peut vérifier que l’image est bien crée

image

A présent, il suffit de créer des instances de cette image pour profiter de plusieurs “serveurs” SQL, à la demande…

docker run --name sql01 -d -p 51431:1433 -p 51771:7022 -v e:\mssql\sql01:c:\sql sqlexpress
docker run --name sql02 -d -p 51432:1433 -p 51772:7022 -v e:\mssql\sql02:c:\sql sqlexpress
docker run --name sql03 -d -p 51433:1433 -p 51773:7022 -v e:\mssql\sql03:c:\sql sqlexpress
docker run --name sql04 -d -p 51434:1433 -p 51774:7022 -v e:\mssql\sql04:c:\sql sqlexpress
docker run --name sql05 -d -p 51435:1433 -p 51775:7022 -v e:\mssql\sql05:c:\sql sqlexpress

Plusieurs point remarquables sur ces lignes de commande :

    • -p : permet de rediriger les ports. Sachant que tous les conteneurs ne sont visibles sur le réseau public qu’au travers de l’IP du host, il faut rediriger les ports vers le 1433 configuré dans ‘liage SQL Server Express. la démo faisant également appel au service broker, le port 7022 était destiné au routage inter serveur.
    • -v : permet de rediriger le stockage du conteneur vers un dossier “local” sur le host (disque E dans mon cas, les répertoires mssql et sqlxx doivent exister). Du coup un simple attach, ou bien une recopie du backup dans le répertoire du même nom permet de jouer simplement avec l’instance SQL Express sous Docker.

image

A présent, vous pouvez vous connecter à vos instances en utilisant les ports du Host…

Enjoy Sourire

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

SQL Saturday 510–Les slides et démos

Belle vue depuis la tour Montparnasse ce weekend … Dommage pour ceux qui ont préféré rester chez eux … Sourire

2016-06-25 14.33.34

J’ai eu le plaisir d’animer une session liée à la performance dans SQL Server au travers de techniques de Scale Out.

image

Cela ne vaut pas le live, mais voici en téléchargement les slides et les démos. Des tables partitionnées, du service broker, du Docker, du NLB avec Kemp ou pfSense, … Oui, il fallait venir !

A venir d’ici peu, un tutorial pour créer des images Docker pour SQL Server … Histoire de reproduire ce que j’ai fait en démo.

Stay tuned !

Note : à ceux qui voudraient réutiliser mes scripts et slides lors de LEURS présentations, merci de jouer franc jeu et conserver et mentionner clairement l’auteur.

Publié dans Containers, Docker, Evènements, SQL Server | Tagué , , | 1 commentaire