Offres d’emploi–DBA

Envie de changer de Job ? Motivés par de nouveaux chalenges ? Envoyez moi des CV. J’ai quelques postes ouverts chez mes clients.

Publié dans Non classé | 3 commentaires

SQLSaturday #420–Paris–Septembre 2015

Certains d’entre vous sont peut être encore les pieds dans l’eau, d’autres ont probablement repris le travail depuis quelques temps. Il n’empêche, la rentrée approche à grands pas.

Et pour le microcosme SQL Server, la rentrée est synonyme de SQLSaturday, à Paris, dans les locaux du campus  SUPINFO, tour Montparnasse.

sqlsat420_160px

 

Les impôts ont augmenté ? Les factures se sont accumulées durant les journées de farniente ?

Le SQLSaturday est GRATUIT (merci à nos sponsors)!

Pour ma part, j’animerais avec David une session dans laquelle nous parlerons des nouveautés apportées par SQL Server 2016. Quelques slides, des démos, des réponses à vos questions…

C’est dur de se lever le Samedi matin ? Votre conjoint ne pense pas à vous amener des croissants / chocolatines (oui, dans le sud le pain au chocolat n’existe pas) ?

La solution existe. Venez avec votre bonne humeur participer au SQL Saturday, un petit-déjeuner vous attends! 25 speakers seront présents pour partager leur passion/savoir/savoir faire autour de la BI, du moteur relationnel ou du cloud.

Inscrivez vous, plan vigipirate oblige, avant fin aout .

 

Autre point important : j’aimerais profiter de cette journée pour rencontrer des DBA désirant changer / trouver un job. J’ai quelques postes en attente de candidat. Venez me porter vos CV et attendez vous à ce que je teste quelque peu votre niveau. Cette offre ne s’adresse pas qu’aux DBA expérimentés, des profils juniors/intermédiaires seront privilégiés.

Au plaisir de vous voir le 5 septembre, Tour Montparnasse à Paris…

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

SQL Server 2016-Instance en cluster-Storage Spaces Direct

Mon précédent billet nous a permis de configurer un volume CSV au dessus d’une infrastructure disque hyper-convergée. Storage Spaces Direct, concurrent direct de Nutanix ou vSan permet d’agréger des disques locaux perforants (NVMe et autre SSDs) ou à bas cout (interface SATA).

Théoriquement prévu pour supporter une infrastructure Hyper-V, j’ai voulu tenter le coup pour un cluster de basculement SQL Server.

Note : la configuration qui suit est fonctionnelle, et, à l’heure actuelle, totalement NON SUPPORTEE.

Une fois le disque CSV créé, il reste à installer une ou plusieurs instance en cluster. Depuis SQL Server 2014, l’utilisation de disque CSV est supportée pour un FCI, j’avais par ailleurs posté un billet, avec la marche à suivre, à ce sujet.

J’ai ainsi ajouté la fonctionnalité dotnetfx3.5 (obligatoire) au 4 nœuds du cluster créé précédemment. J’aurais tout aussi bien pu créer plusieurs autres VMs.

Je en vais pas faire défiler les copies d’écrans du setup SQL Server que vous connaissez probablement, sinon référez vous à un de mes précédents posts pour l’installation d’un cluster de basculement.

C’est au moment de choisir le stockage pour l’instance que le disque CSV apparait.

image

Windows est en version CTP2. SQL Server 2016 est en CTP2.2. Logique donc que tout ne soit pas parfait. Mais voir un GUID en lieu est place du Pool Name du volume, c’est un peu dommage. Dans la console cluster on retrouve ce même PoolID.

image

Si dans le futur une telle configuration est supportée, ce genre de détail devrait être corrigé. Sachant que dans l’écran suivant, le nom du CSV est lui correct.

image

Poursuivons l’installation :

imageimage

Il ne reste plus qu’à faire des add node sur les 3 nœuds restants. Rien de particulier cette fois ci. Reportez vous aux différents billets à ce sujet.

Petite note, lorsque vous voulez automatiser, penser à ne pas tout paralléliser : lors du Add Node, le setup de SQL Server cherche à valider l’état du service sur les nœuds non encore installés. Cette étape échoue si un nœud est en cours d’installation.

Une fois tous les nœuds ajoutés le FCI est opérationnel sur les 4 nœuds avec un stockage réparti sur tous les nœuds. Nous avons supprimé le SPOF que constitue le stockage centralisé dans un cluster de basculement. Il aurait aussi été possible d’utiliser un logiciel tiers de réplication de bloc tel que DataKeeper, comme je l’avais fait ici.

Sachant que cette configuration n’est pour l’heure pas supportée, pourquoi en parler ? Peut être parce que j’attends avec impatience le jour où il sera possible de disposer et manipuler des instances SQL en haute disponibilité comme on joue avec des machines virtuelles sur un cluster Hyper-V.

Ne vous méprenez pas, je suis un fan des groupes de disponibilité, mais il faut bien avouer que dans certains cas, un cluster de basculement est suffisant.

L’environnement hyper-convergé, où les ressources disque et CPU sont mutualisées, est clairement la tendance actuelle niveau virtualisation. La bascule d’une VM d’un nœud à l’autre est transparente (sans coupure de service, ni de connexion réseau comme avec le live migration des VMs). Le stockage allie performance, flexibilité et extensibilité. Proposer la création de VM en Self-Service, …

Reproduire les concepts pour les instances de bases de données parait être une évidence (la mobilité des bases est déjà acquise de part les groupes de disponibilité avec l’utilisation du listener).

Plus les version de Windows et de SQL se succèdent, plus on s’en rapproche. Les briques techniques sont toutes là, ou presque.

Happy FCI sur Storage Spaces Direct

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

Storage Spaces Direct–Windows 2016

Lors d’un précédent billet nous avions exploré les possibilités offertes par Windows Server 2016 liées au disaster recovery, le storage replica.

Dans ce billet, je spécifiais clairement qu’il s’agissait d’une solution de disaster recovery, et non pas de haute disponibilité. Alors, quid de la HA ?

La nouvelle mouture de Windows Server nous offre la fonctionnalité de Storage Spaces Direct. Afin de concurrencer Nutanix pour les environnement hyper-convergés, ou tout simplement pour offrir une fonctionnalité équivalente à VMware Virtual SAN, Microsoft propose ainsi de répartir le stockage sur les différents nœuds d’un cluster. Ainsi les disques locaux de chaque machine peuvent être agrégés afin d’offrir un espace de stockage vu comme une seule entité depuis le cluster.

Il est possible de passer par une connexion SAS pour des disques JBOD

Storage Spaces Direct with JBOD

Mais bien plus intéressant, il est aussi possible de faire fonctionner le Storage Spaces Direct avec des disques SATA.

Storage Spaces Direct with internal disks

L’intérêt, me direz-vous ? Il set double : soit on part sur une logique de réduction des couts, argument choc pour les DSI et Directeurs Financiers, soit on mise sur la performance avec des disques NVMe (par exemple une carte Intel Solid-State Drive 750 Series, 400GB, 400$    parfait pour des petits tests à 430 000 Read IOPS en 4K  Sourire ) ou bien des disques SSD (jusqu’à 4TB actuellement, 8TB prévus pour 2016, avec des durées de vie tout a fait correctes). Ajoutez à cela un peu de réseau à faible latence (type Mellanox) entre les serveurs, et oui, croyez moi, cela peut être franchement très performant.

Dans la CTP actuelle, la mise en place de Storage Spaces Direct requiert un minimum de 4 nœuds. Autant partir sur 4 machines virtuelles pour la démonstration, donc pas forcément de respect des best practices pour les réseau, les contrôleurs SCSI, etc …

for ($i=1; $i -le 4; $i++) 
{
    $VmName      = "Conseil IT - Win2016-$i"
    $VmMemory    = 4GB				               
    $VhdPath     = "E:\VHD"			       

    $NetworkSwitch = "External Network"	
    $WindowsISO    = "C:\Sources\en_windows_server_technical_preview_2_x64_dvd_6651466.iso"	

    
    New-VM -Name $VmName  `
                -MemoryStartupBytes $VmMemory `
                -NewVHDPath $VhdPath\$VmName.vhdx `
                -NewVHDSizeBytes 60000000000 `
                -SwitchName $NetworkSwitch `
                -Generation 2

    Set-VMProcessor -VMName $VmName  -Count 4
    Add-VMDvdDrive  -VMName $VmName  -Path $WindowsISO

    Enable-VMIntegrationService -VMName $VmName  `
                                -Name "Guest Service Interface"
}

Une fois les VM crées et configurées (changement de nom, intégration dans un domaine, paramétrage Windows, …), on ajoute les fonctionnalités nécessaires :

Add-WindowsFeature -Name File-Services, Failover-Clustering -IncludeManagementTools

Sur l’hyperviseur, on ajoute ensuite les disques “locaux”, des fichiers VHDX dans notre exemple. Pour chaque VM, 4 disques vont être ajoutés simulant ainsi plusieurs disques locaux.

for ($i=1; $i -le 4; $i++) 
{
     $VmName      = "Conseil IT - Win2016-$i"
     $VhdPath     = "E:\VHD"		

 
    for ($j=1; $j -le 4; $j++) 
    {

        New-VHD -Dynamic `
                -Path $VhdPath"\StoragePool$i-$j.vhdx" `
                -SizeBytes 10GB

        Add-VMHardDiskDrive  -VMName $VmName  `
                             -Path $VhdPath"\StoragePool$i-$j.vhdx" `
                             -ControllerType SCSI -ControllerNumber 0
    }
}

Je n’ai pas besoin de beaucoup d’espace pour les test, c’est pour cela que j’ai choisi de créer des fichiers de 10GB seulement.

Attention toutefois à ce point, car en production, il faudra tenir compte de la tolérance de panne qui va recopier les blocs sur 3 disques au minimum, donc un espace “réellement” disponible très inférieur à la somme des tailles des disques.

image

Une fois cette étape franchie, repartons dans une des VMs, connecté avec un compte du domaine afin de former le cluster.

New-Cluster -Name Win2016-ha -Node "Win2016-1", "Win2016-2", "Win2016-3", "Win2016-4" -NoStorage

Reste maintenant la petite subtilité qui permet au cluster de “profiter” du stockage local (ou DAS : Direct Attached Storage) : activation du Storage Space Direct.

(Get-Cluster).DASModeEnabled=1

 

Quelques secondes de patience et il est ensuite possible de lister les disques pouvant être “poolés” »

Get-StorageSubSystem  -Name Win2016-ha.conseilit.local | Get-PhysicalDisk

image

Tout comme le rapport du Test-Cluster dans lequel le test est inclus

Test-Cluster -Node "Win2016-1", "Win2016-2", "Win2016-3", "Win2016-4" `
             -Include “Storage Spaces Direct”,Inventory,Network,”System Configuration”

 

image

image

Reste à créer le pool en utilisant tous les disques présents :

New-StoragePool  -StorageSubSystemName Win2016-ha.conseilit.local `
                    -FriendlyName SP01 -WriteCacheSizeDefault 0 `
                    -FaultDomainAwarenessDefault StorageScaleUnit `
                    -ProvisioningTypeDefault Fixed `
                    -ResiliencySettingNameDefault Mirror `
                    -PhysicalDisk  (Get-StorageSubSystem  -Name Win2016-ha.conseilit.local | Get-PhysicalDisk)

 

Dans le console de gestion du cluster, on peut alors voir les enclosures et le pool

image

image

A ce moment de la partie, le pool est créé. reste juste à l’utiliser en créant un (ou plusieurs) storage space (que l’on pourrait aussi nommer disque virtuel si le nom storage space ne vous évoque rien). Le schéma suivant résume bien la situation : des disques locaux, agrégés dans un storage pool, sur lequel on va créer un ou plusieurs storage spaces.

Storage Spaces Direct storage stack

Lorsque le storage space est créé, reste ensuite à créer un volume qui sera exploitable par le cluster : un disque CSV.

New-Volume -StoragePoolFriendlyName SP01 `
           -FriendlyName VDSQL01 `
           -PhysicalDiskRedundancy 2 `
           -FileSystem CSVFS_REFS `
           -Size 20GB

 

image

Mission accomplie … Le disque CSV est créé et utilisable ! Ce volume est réparti sur l’ensemble des 4 nœuds du cluster, ce qui procure de la haute disponibilité. Pour du disaster recovery, ce n’est pas suffisant, car il faut un minimum de 3 nœuds actifs pour que la ressource soit UP, il faudrait donc 6 nœuds dans le cluster, 3 dans caque Datacenter par exemple.

Quel cas d’usage ? Pour l’instant Microsoft ne communique qu’autour d’Hyper-V. Logique, la cible, c’est clairement Nutanix.

image

Mais les lecteurs attentifs auront noté le nom (FriendlyName) que j’ai donné à mon volume … Sourire

Happy Storage Spaces Direct and Stay tuned !

Publié dans Hyper-V, Windows | Tagué , , , | 1 commentaire

Windows 10 disponible au téléchargement

Abonnés MSDN vous pouvez faire chauffer vos lignes ADSL / fibre (Microsoft a prévu une bande passante cumulée de 40 Tb/s) …

image

Publié dans Windows | Tagué | Laisser un commentaire

Renouvèlement MVP

 

SELECT
     'Toutes nos félicitations au MVP Microsoft 2015!' AS [Email Header.Title],
	  'Microsoft' AS [Email Header.Sender],
	  'Christophe LAPORTE' AS [Email Header.To],
	  '2015-07-01' AS [Email Header.Date],
	  'Chère/Cher Christophe Laporte,
       Félicitations! Nous sommes heureux de vous remettre la récompense 
              MVP Microsoft® 2015!' AS [Email Body.Text],
	   2009 AS [MVP Profile.First year awarded],
	   7 AS [MVP Profile.Number of MVP Awards],
	  'SQL Server' AS [MVP Profile.Technical Expertise],
	  'Cluster, Microsoft Azure, Hyper-V' AS [MVP Profile.Technical Interests]
FOR JSON PATH

 

image

 

L’email de renouvèlement MVP est arrivé aujourd’hui. Et c’est toujours avec autant de plaisir que l’on découvre que l’on est renouvelé.

Bannière Microsoft MVP

 

Une nouvelle année, donc, à partager avec vous autour des technologies Microsoft et principalement Microsoft SQL Server.

D’autant que l’année à venir va être marquée par la sortie de SQL Server 2016, donc des articles, séminaires et events en vue …

Stay tuned !

Publié dans CV | Tagué | 3 commentaires

SQL Server 2016 – Row Level Security

Comme vous le savez, SQL Server 2016 est enfin disponible au téléchargement en version CTP2. Je vous propose de découvrir une fonctionnalité attendue : le Row Level Security, ou la capacité, sans avoir à modifier l’ordre SELECT (ou Update, Delete, Insert) de filtrer les données en fonction de l’identité de la personne connectée.

Jusqu’a SQL Server 2014 inclus, si l’on souhaitait ne présenter à un vendeur les ventes qu’il a réalisées, il fallait passer par une procédure stockée ou une fonction qui allait appliquer un filtre. Si l’utilisateur avait un GRANT SELECT sur la table, il suffisait alors de passer par Excel, par exemple, pour visualiser l’intégralité des données.

Cette fois ci, de manière totalement transparente, les données sont filtrées automatiquement par SQL Server, suivant le résultat d’une fonction appelée par une stratégie de sécurité.

Dans un premier temps, créons une base exemple et récupérons quelques données de la base Adventureworks. Notez que j’ai éliminé les doublons sur le prénom des contacts car la fonction que nous allons utiliser par la suite ne doit renvoyer qu’un seul enregistrement.


CREATE DATABASE DemoRLS
GO

USE DemoRLS
GO

SELECT *
INTO SalesOrderHeader
FROM AdventureWorks.Sales.SalesOrderHeader
WHERE SalesPersonID IS NOT NULL

SELECT ContactID,FirstName,LastName
INTO dbo.Contact
FROM AdventureWorks.Person.Contact;

-- But there are some duplicates 
With MyCE AS 
(
	SELECT *,
	row_number() OVER (PARTITION BY FirstName ORDER BY ContactID) as RID
	FROM dbo.Contact
)
DELETE FROM MyCE
WHERE RID > 1

Comptons a présent le nombre de ventes réalisées par chaque employé, afin de choisir deux personnes :

SELECT SalesPersonID,Count(*) AS OrderCount
FROM dbo.SalesOrderHeader
GROUP BY SalesPersonID
ORDER BY SalesPersonID

image

Pour la suite de la démo, les ID 275 et 285 seront utilisés. Un login spécifique a chaque utilisateur est créé. Bien sur il est également possible de s’appuyer sur des logins de type Windows.

image

CREATE USER Maciej WITHOUT LOGIN;
CREATE USER Gail WITHOUT LOGIN;
GO

GRANT SELECT ON SalesOrderHeader TO Maciej;
GRANT SELECT ON SalesOrderHeader TO Gail;
GO

Il est temps à présent de créer la fonction qui va permettre de valider ou non la lecture des données par l’utilisateur qui sera connecté.

La fonction que j’ai créé va simplement aller extraire l’ID dans la table contact correspondant à la session en cours (USER_NAME).

Pour finir, il suffit de créer une stratégie de sécurité qui va se fixer sur la table que l’on souhaite protéger en spécifiant la colonne sur laquelle on s’appuie pour valider l’accès.


CREATE FUNCTION dbo.fn_RLSsecuritypredicate(@SalesPerson AS int)
    RETURNS TABLE
WITH SCHEMABINDING
AS
    RETURN SELECT 1 AS Select_Granted
            WHERE @SalesPerson = (
					SELECT ContactID FROM dbo.Contact
					WHERE FirstName = USER_NAME()
					)
GO

CREATE SECURITY POLICY SalesOrderHeaderFilter
ADD FILTER PREDICATE dbo.fn_RLSsecuritypredicate(SalesPersonID) 
ON dbo.SalesOrderHeader
WITH (STATE = ON);

Ainsi, lorsque l’utilisateur 275 exécuter une requête SELECT, alors seuls les enregistrements du SalesPersonID de la table SalesOrderHeader seront remontées. Idem pour l’utilisateur 285.


EXECUTE AS USER = 'Maciej';
	SELECT SalesOrderID,OrderDate,CustomerID,SalesPersonID 
	FROM dbo.SalesOrderHeader
REVERT;

EXECUTE AS USER = 'Gail';
	SELECT SalesOrderID,OrderDate,CustomerID,SalesPersonID 
	FROM dbo.SalesOrderHeader
REVERT;

 

imageimage

 

Cela fonctionne parfaitement ! Mais je me dois quand même de vous mettre en garde. Rien ne prévient que les données sont filtrées, sauf à regarder de près le plan d’exécution :

image

Où un Assert et un Stream Aggregate s’imposent avant la jointure. En regardant la version XML du plan d’exécution, on décèle l’appel à la fonction.

 

Je dois également attirer votre attention sur le fait que même un sysadmin est soumis à cette policy ! L’exécution du SELECT ne renvoie aucune données.

image

 

Il suffit alors de modifier la fonction pour prendre les cas particuliers en charge. Les administrateurs, les managers qui auraient visibilité sur les ventes des employés sont ils sont responsables, etc …


DROP SECURITY POLICY SalesOrderHeaderFilter;
GO

ALTER FUNCTION dbo.fn_RLSsecuritypredicate(@SalesPerson AS int)
    RETURNS TABLE
WITH SCHEMABINDING
AS
    RETURN SELECT 1 AS Select_Granted
            WHERE @SalesPerson = (
					SELECT ContactID FROM dbo.Contact
					WHERE FirstName = USER_NAME()
					)
               OR USER_NAME() = 'dbo';
GO


CREATE SECURITY POLICY SalesOrderHeaderFilter
ADD FILTER PREDICATE dbo.fn_RLSsecuritypredicate(SalesPersonID) 
ON dbo.SalesOrderHeader
WITH (STATE = ON);

 

Et on récupère la visibilité sur les données.

image

 

Cette fonctionnalité était attendue et malgré les possibilités offertes, elle est simple a mettre en œuvre. La policy s’applique bien niveau ligner et filtre les données à renvoyer. Rien pour les colonnes, il faut encore s’appuyer sur des vies/fonctions/procédures.

Enjoy !

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

SQL Server 2016 – Live Query Statistics

Disponible depuis peu, SQL Server 2016  apporte son lot de nouveautés. Certaines orientés sécurité, haute disponibilité ou montée en charge, et puis d’autres permettent d’étoffer la trousse à outil du DBA.

Et j’avoue que la fait de “voir” l’avancement de l’exécution d’une requête est tout bonnement bluffant. Enfin pouvoir répondre à un utilisateur inquiet de connaitre l’avancement en % de ses requêtes… SQL Server 2014 nous permettait d’avoir beaucoup d’informations au travers de la DMV sys.dm_exec_query_profiles.

Mais en ajoutant le côté graphique, il faut avouer que cela fait son effet. Attention cependant à la consommation de ressources lors de l’utilisation de la fonctionnalité !

Live Query Statistics

Notez qu’il est aussi possible d’atteindre ce “plan d’exécution animé” depuis une nouvelle entrée dans la fenêtre activity monitor.

image

 

Enjoy

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

Premier contact avec SQL Server 2016

Avec quelques jours d’avance, SQL Server 2016 CTP2 est disponible publiquement au téléchargement.

image

Vous avez ainsi la possibilité de tester la nouvelle mouture de SQL Server, ses nouvelles fonctionnalités et les améliorations des précédentes.

D’autant plus que la documentation en ligne est également disponible.

Globalement, niveau  installation, rien de particulier. Les habitués ne seront pas dépaysés.

imageimage

Je vous épargne les écrans suivants que vous maitrisez probablement.

En revanche, sur l’écran de sélection des fonctionnalités, enfin du nouveau :

image

Polybase est enfin disponible, édition entreprise il y a fort à parier.

Afin de bénéficier de cette fonctionnalité, il faudra néanmoins installer une JRE 7.51. Et j’avoue que ce point me chagrine un peu. je suis assez réfractaire quant à l’installation de Java sur un serveur SQL. Bref.

image

Même si votre serveur Windows 2012R2 est up-to-date, il faudra néanmoins ajouter un KB supplémentaire afin de pouvoir poursuivre l’installation.

image

690MB et un reboot plus tard, vous serez en mesure de poursuivre l’installation.

Et bonne surprise, on se préoccupe enfin de la base TempDB et de la contention si vous ne disposez que d’une seul fichier de data (principalement sur la page PFS – 2:1:1).

image

 

De manière étonnante, nous avons droit à une version 13 … J’avoue que je m’attendais à basculer directement sur une version 14. Histoire de superstition outre-atlantique. A vérifier sur la RTM.

image

Car il reste quelques bugs à corriger comme l’intitulé de la version SQL ( 2015 ):

image

 

Polybase !

Présenté par le Dr David DeWitt lors du Pass Summit 2012, polybase offre  la possibilité de requêter un cluster Hadoop depuis SQL Server. On imagine sans peine un scénario alliant un stockage massif pour des données non structurées ou semi structurées dans Hadoop et des données agrégées ou semi-agrégées stockées dans SQL Server. Et exécuter des requêtes sur les 2 sources de données, indifféremment.

PolyBase Concept

 

 

Query Store

Autre fonctionnalité attendue : le query store. Le but est ici de fournir aux DBA des outils (DMVs) afin de comprendre des changement au niveau des performances dus à des plans d’exécution différents.

image

 

Live Query Statistics

SQL Server 2014 avait introduit une nouvelle DMV (SQL 2014 – Nouvelle DMV sys.dm_exec_query_profiles) afin de visualiser l’état d’avancement de l’exécution d’une requête en présentant chaque opérateur, avec le nombre de lignes traitées, etc … Voici maintenant la version graphique. Très réussie. Sourire

 

Strech Databases

Enfin, dirons nous. L’archivage des données, avouons le, était un problème épineux. Au pire, on ne faisait rien et toutes les données restaient dans la ou les tables de production, pour des années voire plus. Soit on concevait une politique d’archivage qui déplaçait les enregistrements “froids” et/ou “tièdes” dans des tables spécifiques. Encore fallait il pouvoir lire simplement ces données et produire des requêtes/vues intégrant données chaudes et données froides. Ou bien, encore, on jouait avec les tables partitionnées.

Les strech databases vont permettre, simplement, d’archiver de manière transparente des données dans Azure, avec à la clé un gain d’espace et un cout de stockage réduit.

Incontestablement dans le top 5 des fonctionnalités de SQL Server 2016.

 

Temporal Tables

Ou la possibilité de requêter une table et renvoyer des données telle qu’elles étaient à un point donné dans le temps ! Cette fonctionnalité est une également une de mes préférées.

 

Sécurité

De belles nouveautés sur le plan sécurité avec le dynamic data masking, le row level security et des nouvelles permissions.

 

Haute disponibilité

Les groupes de disponibilité se voient dotés du round robin pour les accès en lecture seule au travers du listener, ce qui permet de balancer la charge sur l’intégralité des serveurs secondaires. Les transactions distribuées sont enfin supportées et le nombre de serveurs pouvant bénéficier de la bascule automatique passe de 2 à 3.

 

Bref, de nombreux articles à venir …

Bon téléchargement.

Publié dans SQL Server | Tagué | 2 commentaires

SQL Server vNext devient SQL Server 2016

Enfin quelques nouvelles (publiques) de la prochaine version de SQL Server ….

Tout d’abord, enfin, nous connaissons le nom : SQL Server 2016.

La datasheet, téléchargeable ici.

image

Elle confirme l’orientation cloud de Microsoft avec les strech tables, où le déplacement automatique des données froides vers le cloud alors que les données chaudes restent sur votre server OnPremise. Bref, un scénario hybride dont je ne manquerai pas de vous reparler.

 

L’accent est aussi mis sur la haute disponibilité avec des améliorations attendues  dans AlwaysOn : le support de MsDTC et l’accès en round-robin sur les serveurs secondaires.

D’un point de vue performances, il sera dorénavant  possible d’utiliser le columnstore index sur des données OLTP sous Hekaton. Le meilleur des deux mondes ! De l’OLTP ultra performant (et avec moins de contraintes qu’avec la version SQL 2014) et le columnstore index en read/write pour l’analyse …

Polybase sera aussi inclu dans SQL Server (présent dans APS auparavant), permettant ainsi l’accès à des données non structurées (Hadoop)  et structurées via le langage t-SQL. Au passage, on peu noter le support natif de JSON !

Une petite dose de sécurité (Row level security et Dynamic Data Masking) viennent compléter le tableau de cette nouvelle mouture de SQL Server.

Bienvenue à SQL Server 2016 !!!!

Stay tuned

Publié dans SQL Server | Laisser un commentaire