Les nouveaux produits serveurs de Microsoft sont disponibles sur le site TechNet:
Une image embarquant SQL2014 est aussi disponible dans Azure (IaaS):
Bonne installation
!
Au plaisir de vous voir lors d’un IT Camp!
Les nouveaux produits serveurs de Microsoft sont disponibles sur le site TechNet:
Une image embarquant SQL2014 est aussi disponible dans Azure (IaaS):
Bonne installation
!
Au plaisir de vous voir lors d’un IT Camp!
Dans l’article « Installation de SQL server en mode IaaS », nous avons vu qu’une des bonnes pratiques d’installation de SQL consiste à utiliser plusieurs disques pour les fichiers de données et les fichiers de transactions. Cependant, dans le cas où l’installation a déjà été faite par défaut, et que tous les fichiers se trouvent au même endroit, comment est-il possible de déplacer les fichiers ?
Il existe plusieurs manières de faire, en utilisant des techniques manuelles ou automatiques via des requêtes T-SQL :
Dans cet article, nous allons utiliser la dernière méthode, et de manière automatisée via une requête T-SQL. Voici les étapes que nous allons suivre :
Dans « SQL Server Configuration manager », sur la gauche, cliquez sur « SQL Server Services ».
Faîtes un clic droit sur le service SQL que vous souhaitez arrêter et cliquez sur « Stop ».
Copiez les fichiers vers les nouveaux emplacements. Dans mon exemple, je copie les fichiers de données (.mdf et ndf) vers E:\SQLData et les fichiers des transactions vers F:\SQLLogs.
Dans cet exemple, les fichiers d’origines se trouvent à l’emplacement par défaut :
C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA
Retournez dans « SQL Server Configuration Manager » et faîtes un clic droit sur le service MSSQLSERVER.
Cliquez sur « Properties ».
Dans La fenêtre des propriétés du service MSSQLSERVER, cliquez sur l’onglet « Startup Parameters ».
Dans la rubrique « Existing parameters », selectionnez le chemin vers le fichier de données de la base Master « master.mdf ».
Mettez le chemin à jour et cliquez sur le bouton « Update ».
Répétez l’opération pour le fichier « mastlog.ldf ». La fenêtre ci-dessous illustre le résultat dans mon environnement.
Redémarrer le service MSSQLSERVER en cliquant droit dessus et en sélectionnant « Start ».
Dans SSMS, exécutez la requête suivante afin de vérifier les nouveaux chemins de la base Master.
SELECT physical_name FROM sys.master_files.
Le résultat affiche les chemins des différents fichiers utilisés par toutes les bases de données.
Maintenant, nous allons exécuter la requête suivante afin de modifier les chemins de toutes les bases de données de notre instance.
/ ** ATTENTION, avant d’exécuter la requête, faîtes des tests au préalable et sauvegardez vos bases de données. **\
Dans SSMS, connectez-vous à votre instance de base de données. Puis cliquez sur bouton « New Query ».
Dans la fenêtre de requête, copiez la requête ci-dessous :
-- Déclaration des variables
DECLARE @DB_Name nvarchar(255)
DECLARE @DataPath nvarchar(255) = 'E:\SQLData\'
DECLARE @LogPath nvarchar(255) = 'F:\SQLLogs\'
DECLARE @LogicalFileName nvarchar(MAX)
DECLARE @FileType nvarchar(255)
DECLARE @FileExtension nvarchar(255)
DECLARE @FranmerQuery nvarchar(MAX)
DECLARE @PhysicalFileName nvarchar(MAX)
--Création d'une table temporaire pour stocker les informations des fichiers de données et logs.
--Le préfixe # devant le nom de la table (MyDB dans cet exemple) permet de créer la table dans la base TempDB.
CREATE Table #MyDB (MyDB_DBName nvarchar(255), MyDB_DBLogicalFileName nvarchar(255), MyDB_DBFileType nvarchar(255),MyDB_DBFileExtension nvarchar(255),MyDB_DBPhysicalFileName nvarchar(255))
-- Insertion des données dans la table temporaire à partir des tables systèmes sys.master_files et sys.databases
INSERT INTO #MyDB (MyDB_DBName , MyDB_DBLogicalFileName , MyDB_DBFileType ,MyDB_DBFileExtension, MyDB_DBPhysicalFileName )
Select b.name as DBName, a.name as BdLogicalFileName, a.type_desc as DBFileType, RIGHT(physical_name,CHARINDEX('\',physical_name)) as Extension, reverse(left(reverse(physical_name), charindex('\', reverse(physical_name)) -1)) as PhysicalFileName from
master.sys.master_files a inner join sys.databases b
ON a.database_id = b.database_id
-- Déclaration d'un curseur afin de parcourir les lignes de la table temporaire
DECLARE MyCursor CURSOR FOR select MyDB_DBName , MyDB_DBLogicalFileName , MyDB_DBFileType ,MyDB_DBFileExtension,MyDB_DBPhysicalFileName FROM #MyDB;
OPEN MyCursor;
-- Création de la requête ALTER DATABASE en récupérant, ligne par ligne, les informations de la table temporaire afin de remplir les différentes variables
FETCH NEXT FROM MyCursor INTO @DB_Name, @LogicalFileName , @FileType, @FileExtension, @PhysicalFileName;
-- Balayage ligne par ligne de la table temporaire jusqu'à la fin
WHILE @@FETCH_STATUS = 0
BEGIN
-- Test du type de fichier pour orienter les fichiers de données (ROWS) sur un disque et les fichiers des transactions sur un autre disque
IF @Filetype = 'ROWS'
SET @FranmerQuery = 'ALTER DATABASE [' + @DB_Name + '] MODIFY FILE (NAME = ''' + @LogicalFileName +''', FILENAME = ''' + @DataPath + @PhysicalFileName + ''')'
ELSE
SET @FranmerQuery = 'ALTER DATABASE [' + @DB_Name + '] MODIFY FILE (NAME = ''' + @LogicalFileName +''', FILENAME = ''' + @LogPath + @PhysicalFileName +''')'
-- L'utilisation du PRINT sert à vérifier la bonne syntaxe de la commande
-- Si la syntaxe est correcte, alors on remplacera PRINT par EXECUTE
PRINT (@FranmerQuery)
FETCH NEXT FROM MyCursor INTO @DB_Name, @LogicalFileName , @FileType, @FileExtension, @PhysicalFileName;
END
CLOSE MyCursor;
DEALLOCATE MyCursor;
DROP TABLE #MyDB
Une fois la requête copiée, modifiez les variables « @DataPath » et « @LogPath » en fonction de votre environnement.
Cliquez sur le bouton « Execute » pour tester la requête.
La requête va retourner le résultat suivant via l’instruction PRINT.
Cela va nous permettre de vérifier la bonne syntaxe des chemins de destination. Une fois la requête validée, remplacez l’instruction PRINT par EXECUTE
Après l’exécution de la requête, le message suivant est affiché :
Dans SSMS, au niveau de l’instance de votre base de données, faîtes un clic droit et cliquez sur « Restart ».
Dans la fenêtre de confirmation, Cliquez sur « Yes ».
Une fois le service redémarré, vérifiez le bon changement des emplacements des fichiers avec la requête suivante.
SELECT Physical_name from sys.master_files
Vous pouvez aussi vérifier si les changements ont bien été pris en compte, en faisant un clic droit sur une base de données, puis en cliquant sur « Properties »
Sur la gauche de la fenêtre « Database Properties », cliquez sur Files. Vérifiez alors que les nouveaux emplacements ont bien été validés.
Voilà, vos fichiers de base de données viennent d’être déplacés.
Au plaisir de vous voir lors d’un IT Camp!
Pour tester Windows Server 2012, Windows 8, SQL Server 2012 vous pouvez télécharger gratuitement la version d’évaluation disponible sous la forme :
SQL Server est une solution de base de données qui peut être installée et exploitée sur site, dans le cloud en mode « Infrastructure as the service (IaaS) » ou « Plateforme as the service (PaaS) », mais aussi et surtout en mode hybride. C’est-à-dire, une partie sur site et une autre dans le cloud (IaaS ou PaaS). J’en profite pour rappeler que nous présentons des sessions sur les applications du Cloud hybride lors de nos ITCamps. Si vous souhaitez y participer, les inscriptions se font ici
Dans cet article, nous allons voir la bonne pratique pour installer SQL Server dans une machine virtuelle Azure.
Cette installation peut se faire :
Que ça soit l’une ou l’autre des méthodes, les étapes d’installation sont les suivantes :
Cliquez sur le bouton « Nouveau » en bas de l’écran
Cliquez sur « Calcul », « Ordinateur virtuel » puis « A partir de la galerie »
Au choix :
· Sélectionnez une image avec un système d’exploitation seul et installez vos binaires dessus
· Sélectionnez une image avec un système d’exploitation et SQL Server 2012 SP1 déjà installé
Dans cet exemple, je sélectionne une image Windows 2012 + SQL Server 2012 SP1. Cliquez sur la flèche en bas à droite.
Dans la fenêtre « Configuration de l’ordinateur virtuel », renseignez les différents champs et sélectionnez la taille de l’image souhaitée.
Pour un SQL serveur, la taille minimale conseillée est « Grande ». Cliquez sur la flèche en bas à droite.
Dans La fenêtre « Mode de l’ordinateur virtuel », donnez un nom DNS à votre machine. Vous pouvez aussi utiliser un compte de stockage existant ainsi qu’un groupe d’affinités.
Cliquez sur la flèche en bas à droite.
Dans la fenêtre « Options de l’ordinateur virtuel », vous avez la possibilité de créer un groupe de haute disponibilité. Dans cet exemple, nous allons laisser la sélection sur « (Aucune) ».
Cliquez sur la coche en bas à droite pour valider la création de la machine virtuelle
La machine virtuelle est en cours de deployment
Une fois la machine créé, sélectionnez là puis cliquez sur le bouton « ATTACHER » puis sur « Attacher un disque vide »
Dans la fenêtre « Attacher un disque dur vide à l’ordinateur virtuel », définissez l’emplacement de votre disque ainsi que le nom du fichier et sa taille.
Cliquez sur la coche en bas à droite pour valider les changements
Répétez l’opération pour créer un second disque pour les journaux de transactions.
Une fois les 2 disques créés, votre machine doit être configurée de la manière suivante, avec les 2 disques de données.
Maintenant, il faut rendre les disques visibles par le système d’exploitation de la machine virtuelle.
Après avoir sélectionné votre machine virtuelle, cliquez sur le bouton « Connecter » en bas de la page.
Une fois connecté à la machine virtuelle, dans le « Server Manager », cliquez sur « File and Storage Services »
Cliquez sur « Disks », puis faîtes un clic droit sur un des disques dont la partition est en « Unknown ». Cliquez sur « New Volume… »
Un assistant démarre et vous guide dans la création du nouveau volume. Cliquez sur « Next » en bas de la fenêtre « Before you Begin ».
La page « Server and Disk » apparaît. Sélectionnez le disque et cliquez sur « Next » .
Cliquez sur « Ok » dans la fenêtre d’avertissement
Dans la fenêtre « Specify the size of the volume », définissez la taille de votre disque dur. Cliquez sur « Next »
Dans la fenêtre « Assign to a drive letter or folder », choisissez une lettre pour votre disque. Cliquez sur « Next »
Dans la fenêtre « Select file system settings », sélectionnez les paramètres de votre disque et donnez-lui un nom. Cliquez sur « Next »
Dans la fenêtre « Confirmation », cliquez sur « Create », puis sur « Close » à la fin de l’opération.
Répétez l’opération pour le deuxième disque.
Vous devez donc vous retrouver avec une configuration similaire à celle-ci :
Dans chacun des disques ainsi créés, ajoutez les répertoires que vous souhaitez afin d’y ordonner vos fichiers de données et de journaux de transactions.
Maintenant, il reste à configurer SQL Server pour utiliser les nouveaux disques.
A partir de SQL Server Management Studio, faîtes un clic droit sur votre instance SQL et cliquez sur « Properties »
Dans la fenêtre « Server Properties », sur la gauche, sélectionnez « Database Settings ».
Dans la section « Database default locations », définissez les nouveaux chemins de vos fichiers de données et de journaux de transactions.
Cliquez sur « Ok »
La création de la machine virtuelle et l’ajout des disques peut aussi se faire via un script PowerShell
cls
Import-Module "C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1"
#Configuration du compte à utiliser. Utilisez votre fichier de configuration
#Il peut être obtenu via cette adresse https://windows.azure.com/download/publishprofile.aspx ou
#via la commande PowerShell Get-AzurePublishSettingsFile
Import-AzurePublishSettingsFile 'C:\Users\franmer\Documents\PowerShell\PublishSettings\MS'
Set-AzureSubscription -SubscriptionName 'Windows Azure Consumption' -CurrentStorageAccount Mystorage
Select-AzureSubscription -SubscriptionName 'Windows Azure Consumption'
# Image Windows Server 2012 + SQL 2012
$image = 'fb83b3509582419d99629ce476bcb5c8__Microsoft-SQL-Server-2012SP1-Enterprise-CY13SU04-SQL2012-SP1-11.0.3350.0-Win2012'
$vmname = 'SuperTest'
$service = 'POCFranmerService69'
$Password = 'Telecaster@2013'
$VMSize = 'Medium'
$AG = 'FranmerAffinity'
#Paramètres des disques supplémentaires
$Disk1 = 'SQLData'
$Disk2 = 'SQLLogs'
#Configuration de la machine virtuelle
$MyDC = New-AzureVMConfig -name $vmname -InstanceSize $VMSize -ImageName $image |
Add-AzureProvisioningConfig -Windows -Password $Password |
#Ajout des disques supplémentaires
Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel $Disk1 -LUN 1 |
Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel $Disk2 -LUN 2
New-AzureVM -ServiceName $service -VMs $MyDC -AffinityGroup $AG
Il restera à faire les étapes suivantes que l’on a vues précédemment dans cet article, c’est à dire:
Au plaisir de vous voir lors d’un IT Camp!
Pour tester Windows Server 2012, Windows 8, SQL Server 2012 vous pouvez télécharger gratuitement la version d’évaluation disponible sous la forme :
Avec le Cumulative update 4 (CU4) de SQL server 2012 SP1, Power View peut désormais se connecter à une source de données Analysis Services en mode Multidimensionnel (Unified Dimensional Model ou UDM).
Après l’installation du CU4, il est nécessaire de réaliser quelques étapes avant de pouvoir créer son premier rapport Power View sur une source Multidimensionnelle. Voici ces étapes.
A partir d’une librairie SharePoint, dans le menu “File”, sélectionnez “Report Data Source” :
***** Si « Report Data Source » n’est pas présent dans le menu, c’est que ce type de contenu n’est pas activé. Pour activer un type de contenu dans une librairie SharePoint, rendez-vous à la fin de cet article pour lire un exemple d’activation. *****
La fenêtre des propriétés de la source de données apparaît. Donnez un nom à votre connexion à la source de données.
Dans la liste déroulante « Data Source Type », sélectionnez « Microsoft BI Semantic Model for Power View »
Dans le champ « Connection string » entrez la chaîne de connexion vers Analysis Services Multidimentionnel. La chaine de connexion est de type :
Data source=<servername>;initial catalog=<multidimensionaldatabasename>;cube=<cubename>
Dans cet exemple, je me connecte au cube Analysis Services Multidimensionnel « Operation » de la base « Contoso_retail ». Ci-dessous, une vue du cube dans SQL Server Management Studio (SSMS) :
Donc, au niveau des propriétés de ma source de données, ma chaine de connexion sera comme indiquée dans la copie d’écran ci-dessous :
Définissez ensuite les informations d’authentification au cube :
Enfin, cliquez sur le bouton « Test Connection » afin de vérifier votre source de données. Cliquez sur « Ok »
Une fois votre source de connexion créée, cliquez sur les 3 petits points qui se trouvent à droite. Naviguez dans le menu pour sélectionner « Create Power View Report »
Vous voilà prêt pour créer votre premier rapport Power View, connecté sur un Analysis Services Multidimensionnel
!
Dans le cas où “Report Data Source” n’est pas présent dans la liste, cela signifie que ce type de contenu n’est pas activé pour cette librairie. Afin d’activer ce type de contenu, il faut aller dans l’onglet « Library », « Library Settings »
Puis cliquez sur « Advanced » et cliquez sur « Yes », dans la rubrique « Content Type », « Allow management of content type ». Cliquez sur « Ok » en bas de la page :
De retour dans la page « Settings », dans la rubrique « Content Type » cliquez sur « Add from existing site content types »
Puis sélectionnez « Report Data Source »
Référence : http://msdn.microsoft.com/en-us/library/dn140246.aspx
Au plaisir de vous voir lors d’un IT Camp!
Pour tester Windows Server 2012, Windows 8, SQL Server 2012 vous pouvez télécharger gratuitement la version d’évaluation disponible sous la forme :
Depuis le cumulative update 2 de SQL Server 2012 SP1, SQL server a commencé son intégration dans le Cloud et permet de nouveaux scénarios Cloud hybrides. Le cumulative update 4 est disponible et continue dans cette voie. Si vous êtes intéressé par le sujet et que vous désirez voir comment mettre en place une solution Cloud hybride autour de SQL server, je vous invite à venir nous rencontrer lors des IT Camp, « Les applications du Cloud hybride ». Bien entendu, les autres IT Camp sont tout aussi intéressants et vous serez les bienvenus
!
Cette intégration dans le Cloud ne s’arrête pas là, et la prochaine version de SQL Server, SQL Server 2014, sera complétement « Cloud oriented » et apportera aussi son lot de nouveautés jusqu’au moteur lui-même! Les principales nouveautés sont listées ici. Cet article détaille certaines d’entre elles.
SQL 2014 permettra l’intégration de la fonctionnalité AlwaysON groupe de disponibilité, avec les machines virtuelles hébergées dans le service infrastructure de Windows Azure (IaaS). Autrement dit, vous pourrez avoir une solution SQL AlwaysON groupe de disponibilité, avec une partie de votre infrastructure sur site et un ou plusieurs serveurs secondaires hébergés dans le nuage Windows Azure. Ce type de solution permet d’étendre les scénarios de « disaster recovry » à moindres coûts et aussi de « décharger » l’utilisation du serveur primaire, en exécutant par exemple, les tâches de sauvegardes et reporting sur les secondaires hébergés dans le cloud.
Le déploiement du ou des secondaires asynchrones dans le Cloud sera facilité par l’intégration d’un assistant dans SQL Server Management Studio (SSMS).
SSMS permettra aussi, toujours via un assistant, de déployer une base de données se trouvant sur site vers une machine virtuelle hébergée dans Windows Azure. (Clic droit sur la base de données, « Tasks », « Deploy Database to a Windows Azure VM »…. Facile !).
Enfin, le nombre de secondaire sera porté à 8, mais toujours 2 pourront être synchrones.
Une des nouveautés les plus importantes de SQL 2014 est sans doute le moteur de base de données relationnelle en mémoire, issue du projet « Hekaton ». Cette nouveauté finie de compléter la chaine du « In-memory » initié par SQL Server 2008 R2 avec PowerPivot (moteur Vertipaq), puis avec SQL 2012 et le moteur xVelocity (qui complète et remplace Vertipaq). Pour un bref rappel, le moteur xVelocity est en réalité une famille de moteurs composée de :
SQL 2014 fournira nativement une solution complète « in-memory » ( OLTP, DataWarehouse et BI), totalement intégrée à la solution. Cette intégration, permettra l’utilisation de la technologie « in-memory » sans être obligé de réécrire les applications existantes.
SQL 2014 permettra l’utilisation des disques SSD pour l’extension du « buffer pool » (data cache + plan cache). Cette fonctionnalité viendra avec ses propores « Dynamic Management Views » (DMV) (sys.dm_os_buffer_pool_extension_configuration et sys.dm_os_buffer_descriptors) et « xEvents » (sqlserver.buffer_pool_extension_pages_written, sqlserver.buffer_pool_extension_pages_read, sqlserver.buffer_pool_extension_pages_evicted, sqlserver.buffer_pool_page_threshold_recalculated).
SQL 2014 permettra une gestion plus fine des droits et permettra, entre autre, de créer des rôles administrateurs ayant des restrictions sur des données sensibles. Ce type de rôle donnera une agilité supplémentaire dans la gestion des bases, tout en donnant des droits administrateurs à des utilisateurs n’étant pas « sys admin » et en restreignant l’accès aux données sensibles et personnelles.
3 nouvelles permissions seront disponibles : “CONNECT ANY DATABASE”, “IMPERSONATE ANY LOGIN” et “SELECT ALL USER SECURABLES”. Ci-dessous un exemple d’utilisation :
-- Création d’un login franmer
CREATE LOGIN franmer WITH PASSWORD = 'strongpassword'
-- Création d’un rôle avec limitation des accès
CREATE SERVER ROLE MyLimitedAdmin AUTHORIZATION sysadmin
-- Ajout de franmer dans le rôle nouvellement créé.
ALTER SERVER ROLE MyLimitedAdmin ADD MEMBER franmer
-- Ajoût de la permission CONTROL SERVER au rôle. Cette permission permet la gestion des bases données au niveau de l’instance
GRANT CONTROL SERVER to MyLimitedAdmin
-- Cependant, les accès seront restreints, et le rôle ne pourra voir aucune donnée utilisateur. Ce rôle permettra cependant la réalisation des tâches d’administrations courantes
DENY SELECT ALL USER SECURABLES to MyLimitedAdmin
Resources gouvernor, « Query processing », « sysprep », et bien d’autres fonctionnalités auront de nombreuses nouveautés dont certaines sont présentées sur ce site : http://blogs.technet.com/b/dataplatforminsider/archive/2013/06/05/sql-server-2014-a-closer-look.aspx
Au plaisir de vous voir lors d’un IT Camp!
Pour tester Windows Server 2012, Windows 8, SQL Server 2012 vous pouvez télécharger gratuitement la version d’évaluation disponible sous la forme :