<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog Homsys &#187; SSIS</title>
	<atom:link href="http://blog.homsys.com/tag/ssis/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.homsys.com</link>
	<description>Business Intelligence</description>
	<lastBuildDate>Fri, 10 Feb 2012 16:31:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Le programme de Microsoft pour 2012 [1/2]</title>
		<link>http://blog.homsys.com/ecosysteme-bi/le-programme-de-microsoft-pour-2012-12</link>
		<comments>http://blog.homsys.com/ecosysteme-bi/le-programme-de-microsoft-pour-2012-12#comments</comments>
		<pubDate>Fri, 27 Jan 2012 14:12:46 +0000</pubDate>
		<dc:creator>Clément Lefaure</dc:creator>
				<category><![CDATA[Ecosystème BI]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[BISM]]></category>
		<category><![CDATA[DAX]]></category>
		<category><![CDATA[denali]]></category>
		<category><![CDATA[DQS]]></category>
		<category><![CDATA[MDS]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SQL-Server]]></category>
		<category><![CDATA[SSAS]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[Vertipaq]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=1082</guid>
		<description><![CDATA[On en saura sans doute beaucoup plus à l'occasion des Microsoft Techdays 2012 (prévus les 7,8 et 9 Février), mais voici déjà une brève présentation des différents produits et évolutions qui vont désormais constituer l'écosystème BI autour de SQL-Server 2012. SQL-Server "Denali" - c'est son nom de code - est prévu en version commerciale pour la fin de l'année. (Pour l'heure il n'est disponible qu'en Release Candidate depuis le site officiel). Petit tour d'horizon en deux parties.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify">
<p style="text-align: justify"><strong>On en saura sans doute beaucoup plus à l&#8217;occasion des <a href="http://www.microsoft.com/france/mstechdays/" target="_blank">Microsoft Techdays 2012</a> (prévus les 7,8 et 9 Février prochain), mais voici déjà une brève présentation des différents produits et évolutions qui vont désormais constituer l&#8217;écosystème BI autour de SQL-Server 2012. SQL-Server &laquo;&nbsp;Denali&nbsp;&raquo; &#8211; c&#8217;est son nom de code &#8211; est prévu en version commerciale pour la fin de l&#8217;année. (Pour l&#8217;heure il n&#8217;est disponible qu&#8217;en Release Candidate <a href="http://www.microsoft.com/download/en/details.aspx?id=28145" target="_blank">depuis le site officiel</a>). Petit tour d&#8217;horizon en deux parties.<br />
</strong></p>
<div id="attachment_1094" class="wp-caption alignright" style="width: 310px"><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2012/01/Denali_Mt_McKinley.jpg"><img class="size-medium wp-image-1094" src="http://blog.homsys.com/wordpress/wp-content/uploads/2012/01/Denali_Mt_McKinley-300x201.jpg" alt="Mont McKinley ou &quot;Denali&quot;" width="300" height="201" /></a><p class="wp-caption-text">Le mont McKinley, ou &quot;Denali&quot; en langue locale athapascane, plus haut sommet d&#39;Amérique du Nord, culmine à 6194m</p></div>
<h3 style="text-align: justify">1.1/ SQL-Server 2012 aka &laquo;&nbsp;Denali&nbsp;&raquo;</h3>
<p style="text-align: justify">Pour sa mouture 2012 de SQL-Server, Microsoft met en avant 2 fonctionnalités nouvelles pour son SGBD:</p>
<ul style="text-align: justify">
<li>Le <strong>AlwaysOn</strong> qui est une solution de reprise en cas de sinistre (disaster recovery plan) afin de garantir une haute disponibilité de la base de données. Cette fonctionnalité est sensée garantir un &laquo;&nbsp;failover&nbsp;&raquo; deux fois plus rapide en cas de sinistre. Voir <a href="http://video.fr.msn.com/watch/video/alwayson-et-les-groupes-de-disponibilite-dans-sql-server-2012-journees-sql-server/zqkk8pa1" target="_blank">cette vidéo</a> de présentation.</li>
<li>Les<strong> ColumnStore Index</strong> (projet &laquo;&nbsp;Apollo&nbsp;&raquo;) pour proposer de meilleures performances sur des requêtes de type jointure en étoile. Ces indexes colonnes viennent enrichir la liste des solutions d&#8217;optimisation et de tuning existantes sur les précédentes versions (indexes, indexes cluster, statistics&#8230;). Plus d&#8217;info dans ce<a href="http://download.microsoft.com/download/8/C/1/8C1CE06B-DE2F-40D1-9C5C-3EE521C25CE9/Columnstore%20Indexes%20for%20Fast%20DW%20QP%20SQL%20Server%2011.pdf." target="_blank"> livre blanc</a> sur les bénéfices d&#8217;Apollo.</li>
</ul>
<p style="text-align: justify">On notera aussi d&#8217;autres innovations intéressantes sur SQL-Server 2012:</p>
<ul style="text-align: justify">
<li>Le <strong>Change Data Capture</strong> (CDC) qui supporte maintenant les bases de données Oracle</li>
<li>Le SSMA (SQL Server <strong>Migration Assistant</strong>), qui permet d&#8217;automatiser la migration de base de données non  SQL Server vers SQL Server</li>
<li><strong>Juneau</strong>: une nouvelle interface de développement rassemblant Visual Studio et Management Studio dans la même IDE</li>
<li>La fonction<strong> FileTable</strong> permettant de créer un objet base de données lié à un fichier localisé dans un dossier du système de fichier.</li>
<li>Etc&#8230;</li>
</ul>
<h3 style="text-align: justify">1.2/ BI Semantic Model (BISM)</h3>
<p style="text-align: justify">La vraie nouveauté conceptuelle de SQL-Server 2012 est l&#8217;arrivée du BI Semantic Model (ou BISM). Il s&#8217;agit là d&#8217;un vrai modèle Business de l’entreprise qui vient rassembler et enrichir les précédentes notions d&#8217;UDM (SSAS) et de report model (Report Builder).</p>
<p style="text-align: justify">Ce modèle est composé de 3 couches:</p>
<ul style="text-align: justify">
<li>une <strong>couche d’accès aux données </strong>offrant un accès en  ROLAP, MOLAP, Vertipaq (nouveau serveur OLAP en mémoire, faisant partie du projet Apollo), ou  direct query</li>
<li>une <strong>couche Business </strong>logique qui offre une structuration des  données soit en OLAP via SSAS et MDX ou bien via powerpivot et DAX</li>
<li>une<strong> couche data model </strong>qui supporte les données tabulaires et  multi-dimensionnelles</li>
</ul>
<p style="text-align: justify">Ces BI semantic models pourront être créés à partir de Visual Studio ou de PowerPivot.</p>
<p style="text-align: justify">Vous l&#8217;aurez compris, Microsoft tente une nouvelle fois de présenter une alternative métier crédible à la  notion d&#8217;&nbsp;&raquo;univers&nbsp;&raquo; cher à Business Objects. En l&#8217;intégrant avec toutes ses technologies existantes (ce qui n&#8217;était pas le cas de feu les report models), il semble cette année mettre toutes les chances de son coté. A voir si les BISM tiennent le choc sur le gros volumes.</p>
<p style="text-align: justify">A noter qu&#8217;il n&#8217;est pas prévu pour l&#8217;instant de possibilité de migrer des UDM en BISM.</p>
<p style="text-align: justify">
<div id="attachment_1115" class="wp-caption alignnone" style="width: 505px"><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2012/01/BI_semantic_model.png"><img class="size-full wp-image-1115" src="http://blog.homsys.com/wordpress/wp-content/uploads/2012/01/BI_semantic_model.png" alt="BI Semantic Model architecture" width="495" height="372" /></a><p class="wp-caption-text">Le BISM dans le nouveau écosystème SQL-Server 2012</p></div>
<p style="text-align: justify">
<h3 style="text-align: justify">1.3/ Integration Services</h3>
<p style="text-align: justify">Les nouveautés 2012 concernant l&#8217;intégration de données sont articulées autour d&#8217;outils complémentaires à SSIS: Data Quality Services et le déjà célèbre Master Data Services.</p>
<ul style="text-align: justify">
<li><strong>Data Quality Services</strong> (DQS): c&#8217;est un outil destiné à maintenir et améliorer la qualité des  données de l’entreprise en provenance de sources tierces (clients,  fournisseurs, …).
<ul>
<li> DQS permet aussi la modélisation métier des données. Par le biais d’une interface client il sera possible de créer des bases  de connaissance (type thésaurus).</li>
<li>Ces bases contiendront des règles d’épuration, de  validation ainsi que les données de référence. DQS est aussi un outil précieux pour le recherche de doublons et  dans l’évolution des bases de connaissance.</li>
<li>Enfin, les différentes règles de nettoyage pourront être utilisées au niveau  les flux de données dans Integration services (SSIS) via un nouveau  composant.</li>
</ul>
</li>
<li><strong>Master Data Services </strong>(MDS) qui existait déjà dans la version précédente de SQL-Server a été grandement amélioré. Il permet de définir les données de  références, de gérer les métadonnées. Grâce à son intégration comme plugin d’Excel, il permet de filtrer et modifier les données avant de  les visualiser dans Excel. On regrettera qu&#8217;il n&#8217;existe apparemment toujours pas de système de &laquo;&nbsp;lock&nbsp;&raquo; pour gérer les accès simultanés&#8230;</li>
</ul>
<h3 style="text-align: justify">1.4/ Analysis Services</h3>
<p style="text-align: justify">SSAS est indiscutablement le parent pauvre des nouveautés de cette version Denali. Tellement pauvre que dans la foulée de la présentation l&#8217;an dernier son sort a agité la blogosphère spécialisée (voir <a href="http://beyondrelational.com/blogs/jason/archive/2010/11/12/is-it-the-end-of-the-road-for-ssas.aspx" target="_blank">cet article</a> entre autre). De nombreux experts ont caressée l&#8217;hypothèse que Microsoft soit en train de s&#8217;employer à mettre son moteur OLAP sur une voie de garage.</p>
<p style="text-align: justify">Il est vrai que le manque de souplesse des modèles UDM sous-jacents à SSAS a souvent été pointé du doigt tant il représentait une difficulté à résoudre les problématiques métiers les moins standards. Cela a conduit les experts du monde entier à &laquo;&nbsp;tordre&nbsp;&raquo; l&#8217;outil dans tous les sens afin de faire rentrer une logique métier calquée sur du relationnel, dans une modélisation multi-dimensionnelle.</p>
<p style="text-align: justify">C&#8217;est dans cette perspective qu&#8217;il faut voir l&#8217;arrivée de BISM, Vertipaq et DAX. <strong>Ces outils sont destinés à compléter SSAS plus qu&#8217;à le remplacer</strong>. Car comme cela a été exprimé plus haut, les volumes très importants de données nécessiteront toujours de &laquo;&nbsp;dénormaliser&nbsp;&raquo; et de passer en dimensionnel. Ces &laquo;&nbsp;concurents&nbsp;&raquo; au couple SSAS/MDX permettront juste de se simplifier la vie pour modéliser des problématiques métiers relationnelles sur des volumes faibles.</p>
<p style="text-align: justify"><em>La suite de cet article sur les nouveautés de SQL-Server 2012 <a href="http://blog.homsys.com/ecosysteme-bi/le-programme-de-microsoft-pour-2012-22" target="_blank">sera publiée début Février</a>. Au programme: Reporting Services, Crescent, PowerPivot, Barcelona et Azure !</em></p>
<p><span style="text-decoration: underline">Liens utiles</span> :</p>
<ul>
<li><a href="http://www.microsoft.com/sqlserver/en/us/future-editions/sql2012-editions.aspx" target="_blank">http://www.microsoft.com/sqlserver/en/us/future-editions/sql2012-editions.aspx</a></li>
<li><a href="http://www.presse-citron.net/decouvrez-les-nouveautes-decisionnelles-de-sql-server-2012-en-avant-premiere-jeudi-24-nov-avec-mcnext-paris" target="_blank">http://www.presse-citron.net/decouvrez-les-nouveautes-decisionnelles-de-sql-server-2012-en-avant-premiere-jeudi-24-nov-avec-mcnext-paris</a></li>
<li><a href="http://thomasricquebourg.wordpress.com/2011/12/01/sql-server-2012-nouveautes-business-intelligence/" target="_blank">http://thomasricquebourg.wordpress.com/2011/12/01/sql-server-2012-nouveautes-business-intelligence/</a></li>
<li><a href="http://www.databasejournal.com/features/mssql/article.php/3916166/Top-9-New-Features-of-SQL-Server--Denali.htm" target="_blank">http://www.databasejournal.com/features/mssql/article.php/3916166/Top-9-New-Features-of-SQL-Server&#8211;Denali.htm</a></li>
<li><a href="http://blogs.msdn.com/b/analysisservices/archive/2011/05/16/analysis-services-vision-amp-roadmap-update.aspx" target="_blank">http://blogs.msdn.com/b/analysisservices/archive/2011/05/16/analysis-services-vision-amp-roadmap-update.aspx</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/ecosysteme-bi/le-programme-de-microsoft-pour-2012-12/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Outil de gestion des fichiers de configuration de SSIS</title>
		<link>http://blog.homsys.com/divers/outil-de-gestion-des-fichiers-de-configuration-de-ssis</link>
		<comments>http://blog.homsys.com/divers/outil-de-gestion-des-fichiers-de-configuration-de-ssis#comments</comments>
		<pubDate>Mon, 28 Nov 2011 13:57:31 +0000</pubDate>
		<dc:creator>Franck Gavand</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[SSIS]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=910</guid>
		<description><![CDATA[La gestion des fichiers de configuration en XML de SSIS n’est pas chose aisée. Il n’est pas facile de les modifier à la main, et les re-générer à chaque modification est un processus assez lourd. Quand en plus on doit gérer plusieurs fichiers de configuration en fonction des différents environnements de développement, recette, production&#8230; cette [...]]]></description>
			<content:encoded><![CDATA[<p>La gestion des fichiers de configuration en XML de SSIS n’est pas chose aisée. Il n’est pas facile de les modifier à la main, et les re-générer à chaque modification est un processus assez lourd. Quand en plus on doit gérer plusieurs fichiers de configuration en fonction des différents environnements de développement, recette, production&#8230; cette tâche devient rapidement compliquée et source d’erreurs.</p>
<p>Je vous mets donc à disposition cet outil éprouvé dans plusieurs projets BI. Cet outil est une interface web développée en asp qui vous permet de gérer simplement les différents fichiers de configurations de SSIS et ce quel que soit le nombre d’environnements différents.</p>
<p>L’outil permet de déclarer des environnements, de créer de nouvelles variables et de modifier les valeurs associées à ces variables pour chacun des environnements. Vous pouvez directement comparer, pour une variable, sa valeur dans chacun des environnements.</p>
<p>Les modifications ne sont prises en compte que lors de leur validation et une sauvegarde des fichiers est effectuée avant leur ré-écriture.</p>
<p>Les variables déjà présentes dans les fichiers de configuration sont automatiquement intégrées. Vous n’avez donc pas à déclarer les variables que vous avez déjà définies.</p>
<p>Vous n’aurez donc plus à toucher les fichiers de configuration XML, l’outil vous offre une interface simple et efficace pour les manipuler.</p>
<p><strong>Archive à télécharger :<br />
<a href="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/SSISConfig.zip">SSISConfig.zip</a></strong></p>
<p><strong>Déclaration des environnements :<br />
<a href="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image11.png"><img class="alignnone size-full wp-image-921" src="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image11.png" alt="Déclaration des environnements " width="699" height="360" /></a><br />
</strong></p>
<p><strong>Liste des variables et affichage de leur valeur dans chacun des environnements :<br />
<a href="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image21.png"></a><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image22.png"><img class="alignnone size-full wp-image-915" src="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image22.png" alt="Liste des variables et affichage de leur valeur dans chacun des environnements " width="797" height="422" /></a><br />
</strong><em> </em></p>
<p><em> </em></p>
<p><em> </em></p>
<p><strong>Création d’une nouvelle variable :<br />
<a href="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image3.png"><img class="alignnone size-full wp-image-916" src="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image3.png" alt="Création d’une nouvelle variable :" width="653" height="204" /></a><br />
</strong><strong> </strong></p>
<p><strong>Modification de la valeur d’une variable :</strong><br />
<a href="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image4.png"><img class="alignnone size-full wp-image-917" src="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image4.png" alt="Modification de la valeur d’une variable :" width="754" height="244" /></a></p>
<p><strong>Validation des modifications :<br />
<a href="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image5.png"><img class="alignnone size-full wp-image-918" src="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image5.png" alt="Validation des modifications " width="752" height="229" /></a><br />
</strong></p>
<p><strong>Sauvegarde automatique des anciennes versions des fichiers :<br />
<a href="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image6.png"><img class="alignnone size-full wp-image-919" src="http://blog.homsys.com/wordpress/wp-content/uploads/2011/11/image6.png" alt="Sauvegarde automatique des anciennes versions des fichiers " width="756" height="376" /></a><br />
</strong></p>
<p><strong> </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/divers/outil-de-gestion-des-fichiers-de-configuration-de-ssis/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Réaliser un système décisionnel avec SQL Server 2008 R2</title>
		<link>http://blog.homsys.com/divers/realiser-un-systeme-decisionnel-avec-sql-server-2008-r2</link>
		<comments>http://blog.homsys.com/divers/realiser-un-systeme-decisionnel-avec-sql-server-2008-r2#comments</comments>
		<pubDate>Fri, 16 Jul 2010 09:17:07 +0000</pubDate>
		<dc:creator>Gaëlle Dumur</dc:creator>
				<category><![CDATA[Actualité événementielle]]></category>
		<category><![CDATA[Divers]]></category>
		<category><![CDATA[Retours d’expérience / Cas client]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Microsoft BI]]></category>
		<category><![CDATA[PowerPivot]]></category>
		<category><![CDATA[SQL Server 2008 R2]]></category>
		<category><![CDATA[SSAS]]></category>
		<category><![CDATA[SSIS]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=368</guid>
		<description><![CDATA[Sébastien Fantini, expert Microsoft au sein d&#8217;Homsys, publie un des premiers ouvrages en français sur la nouvelle suite BI de Microsoft : &#171;&#160;Business Intelligence avec SQL Server 2008 R2 &#8211; Maîtrisez les concepts et réalisez un système décisionnel&#160;&#187;.
Il s&#8217;adresse à tous les membres d&#8217;une équipe décisionnelle : chef de projet, architecte, développeur ETL, développeur de rapports, assistance [...]]]></description>
			<content:encoded><![CDATA[<p>Sébastien Fantini, expert Microsoft au sein d&#8217;Homsys, publie un des premiers ouvrages en français sur la nouvelle suite BI de Microsoft : &laquo;&nbsp;Business Intelligence avec SQL Server 2008 R2 &#8211; Maîtrisez les concepts et réalisez un système décisionnel&nbsp;&raquo;.</p>
<p>Il s&#8217;adresse à tous les membres d&#8217;une équipe décisionnelle : chef de projet, architecte, développeur ETL, développeur de rapports, assistance à la maîtrise d&#8217;ouvrage (AMOA). Les concepts clés du décisionnel sont détaillés tout au long du livre et mis en application concrètement au travers d&#8217;un cas. Ainsi, au cours des différents chapitres, le lecteur va utiliser les différents outils de la suite SQL Server pour bâtir progressivement le système décisionnel d&#8217;une société virtuelle, Distrisys. L&#8217;ouvrage regorge de solutions concrètes et professionnelles et de bonnes pratiques issues des retours d&#8217;expérience de l&#8217;auteur. Sont abordés les sujets suivants : &#8211; L&#8217;architecture des serveurs et le choix des licences &#8211; La modélisation de l&#8217;entrepôt de données &#8211; La conception du cube Analysis Services &#8211; La réalisation des différents types de flux d&#8217;alimentation ETL avec Integration Services &#8211; L&#8217;utilisation d&#8217;Excel et de PowerPivot pour exploiter les données décisionnelles &#8211; La réalisation de rapports opérationnels et décisionnels avec Reporting Services.</p>
<p>Nouveauté juillet 2010 aux <a title="Editions ENI" href="http://www.editions-eni.fr/Books/Business-Intelligence-avec-SQL-Server-2008-R2-Maitrisez-les-concepts-et-realisez-un-systeme-decisionnel/.6_3a6222cf-b921-41f5-886c-c989f77ba994_75c514cc-b7b3-49ed-a7ca-c8e516ab7429_97dcef86-d499-427d-9fb1-9377e15745ae_1_1_d9bd8b5e-f324-473f-b1fc-b41b421c950f.html" target="_blank">Editions ENI</a> &#8211; Lien <a title="Livre SQL Server 2008 R2 sur Amazon" href="http://www.amazon.fr/Business-Intelligence-avec-Server-2008/dp/274605566X/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1278761355&amp;sr=8-1" target="_blank">Amazon</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/divers/realiser-un-systeme-decisionnel-avec-sql-server-2008-r2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La gestion des logs avec SSIS</title>
		<link>http://blog.homsys.com/trucs-astuces/la-gestion-des-logs-avec-ssis</link>
		<comments>http://blog.homsys.com/trucs-astuces/la-gestion-des-logs-avec-ssis#comments</comments>
		<pubDate>Mon, 01 Feb 2010 08:30:47 +0000</pubDate>
		<dc:creator>Alexis Sacksteder</dc:creator>
				<category><![CDATA[Trucs & astuces]]></category>
		<category><![CDATA[Audit]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[SQL-Server]]></category>
		<category><![CDATA[SSIS]]></category>
		<category><![CDATA[suivi d'exploitation]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=274</guid>
		<description><![CDATA[Pouvoir être en mesure de suivre la bonne exécution des traitements batch SSIS est primordiale.
Plusieurs solutions permettent de répondre à ce besoin de suivi :

La méthode manuelle : Management Studio propose un historique d’exécution des jobs
L’utilisation de tâches SQL permettant de renseigner une table de log
L’utilisation des logs standards SSIS

La solution 2. est très souvent [...]]]></description>
			<content:encoded><![CDATA[<p>Pouvoir être en mesure de suivre la bonne exécution des traitements batch SSIS est primordiale.</p>
<p>Plusieurs solutions permettent de répondre à ce besoin de suivi :</p>
<ol>
<li>La méthode manuelle : Management Studio propose un historique d’exécution des jobs</li>
<li>L’utilisation de tâches SQL permettant de renseigner une table de log</li>
<li>L’utilisation des logs standards SSIS</li>
</ol>
<p>La solution 2. est très souvent rencontrée sur les projets par simple méconnaissance de la 3.</p>
<p>Cet article décrit donc comment mettre en place en quelques minutes un suivi des traitements SSIS performant.</p>
<p>L’activation des logs s’effectue pour chaque package dans le menu <em>SSIS\Enregistrement</em> (Logging en version anglaise)</p>
<p>Les étapes à réaliser sont les suivantes :</p>
<ol>
<li>Choisir dans la liste déroulante <em>type de fournisseur</em>, où seront stockés les logs (base de données, fichier XML,…) puis cliquer sur le bouton <em>Ajouter</em>. Personnellement, je préconise le stockage SQL Server qui permet une exploitation aisée de ces données</li>
<li>Cocher la case à cocher devant le nom du package</li>
<li>Activer la case à cocher devant le fournisseur SQL Server</li>
<li>Sélectionner la base de données hébergeant la table de log</li>
</ol>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2010/02/clip_image002.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image002" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/02/clip_image002_thumb.jpg" border="0" alt="clip_image002" width="343" height="289" /></a></p>
<p><span style="text-decoration: underline;">Remarque :</span> Il n’est pas possible de choisir le nom de la table dans laquelle les logs seront stockés. SSIS 2005 les stocke dans la table sysdtslog90, SSIS 2008 dans sysssislog.</p>
<p>L’onglet Détails permet ensuite de spécifier le niveau de finesse dans le suivi des traitements :</p>
<p>Afin d’éviter des logs trop volumineux, je recommande de tracer uniquement les événements suivants :</p>
<ul>
<li>OnPreExecute : Trace le début d’exécution des différentes tâches présentes dans le niveau Flux de Contrôle</li>
<li>OnPostExecute : Trace la fin d’exécution des différentes tâches présentes dans le niveau Flux de Contrôle</li>
<li>OnError : Trace toutes les erreurs survenues aux niveaux Flux de contrôle et Flux de données</li>
</ul>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2010/02/clip_image0025.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image002[5]" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/02/clip_image0025_thumb.jpg" border="0" alt="clip_image002[5]" width="351" height="296" /></a></p>
<p>Les principaux champs de la table de logs sont les suivants :</p>
<ul>
<li><strong>Event </strong>: événement qui a généré le log (OnPreExecute, OnPostExecute ou OnError)</li>
<li><strong>Computer </strong>: ordinateur qui l’a exécuté</li>
<li><strong>Operator </strong>: utilisateur qui l’a exécuté (permet par exemple de différencier une exécution automatique effectuée par l’agent SQL Server d’une exécution manuelle de rattrapage)</li>
<li><strong>Source </strong>: étape du flux qui a généré le log</li>
<li><strong>SourceId</strong> : Identifiant de l’élément (package, tâche de contrôle…) ayant généré le log</li>
<li><strong>executionId</strong> : identifiant unique de l’exécution</li>
<li><strong>Starttime </strong>: début de l’événement qui a généré le log</li>
<li><strong>Endtime </strong>: fin de l’événement qui a généré le log</li>
<li><strong>Message </strong>: détails de l’événement (notamment les messages d’erreurs sur l’événement OnError)</li>
</ul>
<ul>En quelques clics nous avons ainsi paramétré le stockage de l’information relative à l’exécution des flux SSIS. Ces données peuvent maintenant être requêtées en SQL ou utilisées via du reporting.</p>
<p>A noter qu&#8217;une ligne est écrite dans la table de log pour chaque événement: début d’une tâche, fin d’une tâche ou erreur. Les données doivent donc être manipulées pour obtenir une ligne du type: nom de la tâche, date de début, date de fin et statut d’exécution.</ul>
<ul>Homsys propose ainsi un ensemble de tableaux de suivi développés sous Reporting Services. Cet aspect sera présenté dans un prochain article…</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/trucs-astuces/la-gestion-des-logs-avec-ssis/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Les modèles de package SSIS</title>
		<link>http://blog.homsys.com/trucs-astuces/les-modeles-de-package-ssis</link>
		<comments>http://blog.homsys.com/trucs-astuces/les-modeles-de-package-ssis#comments</comments>
		<pubDate>Mon, 18 Jan 2010 17:14:26 +0000</pubDate>
		<dc:creator>Alexis Sacksteder</dc:creator>
				<category><![CDATA[Trucs & astuces]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[modèle]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[SSIS]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=261</guid>
		<description><![CDATA[Fonctionnalité souvent méconnue et sous utilisée : SSIS (SQL Server Integration Services) permet de créer des modèles de package qui intègrent les éléments récurrents d’un projet.
Pourquoi utiliser des modèles de package :
Un modèle de package pourra par exemple contenir les éléments suivants :

Cartouche d’en tête documentant le flux (description du flux, date de création, auteur…)
Activation des logs [...]]]></description>
			<content:encoded><![CDATA[<p>Fonctionnalité souvent méconnue et sous utilisée : SSIS (SQL Server Integration Services) permet de créer des modèles de package qui intègrent les éléments récurrents d’un projet.</p>
<h2>Pourquoi utiliser des modèles de package :</h2>
<p>Un modèle de package pourra par exemple contenir les éléments suivants :</p>
<ul>
<li>Cartouche d’en tête documentant le flux (description du flux, date de création, auteur…)</li>
<li>Activation des logs d’audit des traitements</li>
<li>Connexion vers les bases de données du projet</li>
<li>Variables communes (nom du serveur DWH, chemin de stockage des fichiers sources, chemin de l’archivage…)</li>
<li>Utilisation du fichier de configuration qui permet l’alimentation dynamique des variables communes</li>
<li>Propriété delayValidation valant True afin d’éviter les ralentissements à l’ouverture des packages</li>
</ul>
<p>La mise en place de ces éléments permet ainsi un gain de temps intéressant, une homogénéisation des différents développements (les variables communes auront le même nom dans l’ensemble des packages) ainsi qu’un risque d’anomalie réduit (erreur de paramétrage des connexions, du fichier de configuration…).</p>
<h2>Comment développer un package modèle ?</h2>
<p>Un package modèle est un package SSIS standard dans lequel les éléments communs auront été implémentés. Ce package doit ensuite être copié dans le répertoire :</p>
<p><em>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\ProjectItems\DataTransformationProject\DataTransformationItems</em></p>
<p><em> </em></p>
<p><em> </em></p>
<p><em> </em></p>
<h2>Comment utiliser un package modèle :</h2>
<p><em> </em></p>
<p>L’utilisation du modèle de package s’effectue via les étapes suivantes :</p>
<p>Cliquer droit sur le projet puis <em>Ajouter\Nouvel Element</em> :</p>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/clip_image0021.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image002" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/clip_image002_thumb1.jpg" border="0" alt="clip_image002" width="290" height="228" /></a></p>
<p align="center"><a name="_Toc249355403">Utiliser un modèle de package Etape 1</a></p>
<p>Ajouter l’élément Package_model_SSIS :</p>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/clip_image004.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="clip_image004" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/clip_image004_thumb.jpg" border="0" alt="clip_image004" width="455" height="282" /></a></p>
<p align="center"><a name="_Toc249355404">Utiliser un modèle de package Etape 2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/trucs-astuces/les-modeles-de-package-ssis/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>La gestion des doublons avec SSIS</title>
		<link>http://blog.homsys.com/trucs-astuces/la-gestion-des-doublons-avec-ssis</link>
		<comments>http://blog.homsys.com/trucs-astuces/la-gestion-des-doublons-avec-ssis#comments</comments>
		<pubDate>Tue, 12 Jan 2010 10:58:39 +0000</pubDate>
		<dc:creator>Alexis Sacksteder</dc:creator>
				<category><![CDATA[Trucs & astuces]]></category>
		<category><![CDATA[doublon]]></category>
		<category><![CDATA[SSIS]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=212</guid>
		<description><![CDATA[Plusieurs techniques existent permettant de détecter et traiter des lignes en doublon avec Microsoft SQL Server Integration Services (SSIS).
La plupart des ressources sur le web proposent de gérer ce point uniquement avec du SQL dans la source de données, certaines proposent même de passer par des tables temporaires.
Je vous propose ici une solution rapide à [...]]]></description>
			<content:encoded><![CDATA[<p>Plusieurs techniques existent permettant de détecter et traiter des lignes en doublon avec Microsoft SQL Server Integration Services (SSIS).</p>
<p>La plupart des ressources sur le web proposent de gérer ce point uniquement avec du SQL dans la source de données, certaines proposent même de passer par des tables temporaires.</p>
<p>Je vous propose ici une solution rapide à mettre en œuvre tout en bénéficiant des avantages de SSIS en termes de maintenance, de performance et de lisibilité en phase de développement.</p>
<p>Cette solution répond au besoin suivant :</p>
<ul>
<li>Ma table cible doit être alimentée avec des lignes uniques par rapport à une clé,</li>
<li>Dans le cas où des doublons sont rencontrés, l’une des lignes doit être conservée,</li>
<li>Les doublons peuvent être identifiés et éventuellement stockés dans une table de rejet.</li>
</ul>
<p>Ce cas est notamment rencontré lorsque l’on charge un référentiel client. Souvent, la base client doit être la plus complète possible mais dans le cas où la donnée serait dupliquée, on ne souhaite ni dupliquer le client ni perdre la trace de son existence. On appliquera alors une règle fonctionnelle permettant de déterminer la version du client à conserver en cas de doublon (le numéro de création le plus élevé ou la date de mise à jour la plus récente par exemple).</p>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/clip_image002.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="clip_image002" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/clip_image002_thumb.jpg" border="0" alt="clip_image002" width="244" height="180" /></a></p>
<p align="center"><a name="_Toc248752017"></a>1 : Contrôle de doublon avec conservation de l’une des lignes du doublon</p>
<p>1) DOUBLON : Source contenant potentiellement des doublons</p>
<p>2) Contrôle doublon : Recherche effectuée avec les paramétrages spécifiques suivants :</p>
<p>a. Onglet <em>Général</em> : « Rediriger les lignes en erreur vers la sortie sans correspondance »</p>
<p>b. Onglet <em>Connexion</em> : requête sur la même table que la source DOUBLON permettant de renvoyer l’ensemble des lignes qui ne sont pas en doublon et, pour les lignes en doublon, la ligne qui devra être conservée. La requête est construite comme suit :</p>
<blockquote><p>select CLE, max(COND) COND from doublon group by CLE</p></blockquote>
<p>Où CLE correspond à la ou les colonnes constituant la clé sur laquelle le test d’unicité est effectué, COND correspond au critère permettant de choisir la ligne à conserver en cas de doublon (numéro de création, date de mise à jour…). Selon les cas, le Max peut être remplacé par un Min.</p>
<p>c. Onglet <em>Colonne</em> : Faire la jointure sur la ou les colonnes CLE et COND</p>
<p>3) Le flux de sortie « Sortie de recherche avec correspondance » fournit les lignes non doublonnées ainsi que la ligne devant être conservée en cas de doublon.</p>
<p>4) Le flux de sortie « Sortie de recherche sans correspondance » fournit les lignes qui sont doublonnées, qui pourront ensuite être insérées dans une table de rejet.</p>
<p>Remarque : Dans le cas où la présence de doublons doit interrompre le chargement, on pourra implémenter un compteur de nombre de lignes sur la branche « sortie sans correspondance » qui, s’il est différent de 0 bloquera la suite de l’exécution.</p>
<p><span style="text-decoration: underline;">Autres solutions permettant de traiter des doublons :</span></p>
<ul>
<li>Utilisation du composant MSDN : <a href="http://msdn.microsoft.com/fr-fr/library/ms160916%28SQL.90%29.aspx">http://msdn.microsoft.com/fr-fr/library/ms160916%28SQL.90%29.aspx</a> (je ne l’ai personnellement pas testé).</li>
<li>Utilisation de la tâche de Tri et de l’option « Supprimer les lignes avec valeurs de tri en double » : L’avantage de cette solution est sa simplicité de mise en œuvre, son inconvénient est qu’elle ne permet pas de récupérer les lignes en doublon.</li>
<li>Utilisation des composants multidiffusion, agrégation, jointure pour reproduire un fonctionnement identique à la requête SQL présente dans le lookup de la solution présentée ci-dessus. L’avantage de cette solution est qu’elle est uniquement basée sur l’utilisation de composants SSIS, son inconvénient est qu’elle est un peu plus longue à développer et ses performances sont un peu moins bonnes.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/trucs-astuces/la-gestion-des-doublons-avec-ssis/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SSIS : Lenteurs extrêmes à l’ouverture/exécution de BIDS</title>
		<link>http://blog.homsys.com/trucs-astuces/ssis-lenteurs-extremes-a-l%e2%80%99ouvertureexecution-de-bids</link>
		<comments>http://blog.homsys.com/trucs-astuces/ssis-lenteurs-extremes-a-l%e2%80%99ouvertureexecution-de-bids#comments</comments>
		<pubDate>Mon, 04 Jan 2010 10:42:28 +0000</pubDate>
		<dc:creator>Clément Lefaure</dc:creator>
				<category><![CDATA[Trucs & astuces]]></category>
		<category><![CDATA[BIDS]]></category>
		<category><![CDATA[DTSX]]></category>
		<category><![CDATA[flux]]></category>
		<category><![CDATA[lenteur]]></category>
		<category><![CDATA[SSIS]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=134</guid>
		<description><![CDATA[Vous avez peut-être déjà rencontré un problème d&#8217;extrème lenteur à l&#8217;ouverture de BI Developement Studio (BIDS), lors de développement de flux SSIS.
Symptômes :
Le problème se manifeste par un &#171;&#160;blocage technique&#160;&#187; de Visual Studio (avec perte de la main) d&#8217;une durée de 8 à 15 minutes lorsque :

l&#8217;on ouvre un fichier de flux SSIS (*.dtsx)
l&#8217;on lance [...]]]></description>
			<content:encoded><![CDATA[<p>Vous avez peut-être déjà rencontré un problème d&#8217;<strong>extrème lenteur à l&#8217;ouverture de BI Developement Studio (BIDS)</strong>, lors de développement de flux SSIS.</p>
<h3>Symptômes :</h3>
<p>Le problème <strong>se manifeste par un &laquo;&nbsp;blocage technique&nbsp;&raquo; de Visual Studio</strong> (avec perte de la main) d&#8217;une durée de 8 à 15 minutes lorsque :</p>
<ul>
<li>l&#8217;on ouvre un fichier de flux SSIS (*.dtsx)</li>
<li>l&#8217;on lance une exécution de flux SSIS (*.dtsx) en mode debug, (l&#8217;attente déclenchant généralement un timeout sur le &laquo;&nbsp;fork&nbsp;&raquo; du processus de debug de Visual Studio cf. ci-après)</li>
</ul>
<p><strong>Ce blocage est indépendant du processus (normal) de vérification des lots du package</strong>, qui intervient une fois les 8/15 minutes de blocage technique passées.</p>
<p>Ce problème persiste :</p>
<ul>
<li>au changement de user</li>
<li>au changement de machines</li>
<li>à la bascule des fichiers et/ou bases de données en local</li>
</ul>
<p>Le retard à l&#8217;exécution est parfois tellement important que le « fork » du thread de debug par rapport au thread de Visual Studio, passe en « time out », provoquant le message d&#8217;erreur suivant :</p>
<p><img class="aligncenter size-full wp-image-148" title="071708_1347_SSISLenteur1" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/071708_1347_SSISLenteur1.png" alt="071708_1347_SSISLenteur1" width="542" height="168" /></p>
<p>Une fois que le « fork » a échoué une fois, toute les autres tentatives échoueront venant s&#8217; « empiler » par process ID :</p>
<p><img class="aligncenter size-full wp-image-149" title="071708_1347_SSISLenteur2" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/071708_1347_SSISLenteur2.png" alt="071708_1347_SSISLenteur2" width="511" height="350" /></p>
<p style="margin-left: 54pt"><span style="font-family: Arial;font-size: 10pt"> </span></p>
<p>Pour qu&#8217;un nouveau test d&#8217;exécution de flux en mode debug soit de nouveau effectif, il faut réinitialiser les paramètres utilisateur de Visual Studio :</p>
<ul>
<li>Menu Démarrer  -&gt;  Exécuter -&gt;  &#8216;<span style="font-family: Courier New">devenv /resetsettings</span>&#8216;<span style="font-family: Arial"> </span></li>
</ul>
<h3>Analyse :</h3>
<p>Une analyse poussée du problème a permis de se rendre compte :</p>
<ul>
<li>lorsque le problème se manifeste, <strong>une connexion HTTP est effectuée vers un serveur distant de Microsoft</strong> (crl.microsoft.com) visible avec la commande MS-DOS <strong>NETSTAT</strong></li>
<li>cette connexion est bloquée en attente de réponse (statut <strong>SYN_SENT</strong>) (voir la copie d&#8217;écran ci-jointe)</li>
<li>au bout des 10 à 15 minutes d&#8217;attente cette connexion se ferme et le fichier s&#8217;ouvre/s&#8217;exécute -&gt; cette connexion en attente est à l&#8217;origine du problème</li>
<li>CRL veut dire &laquo;&nbsp;<strong>Certificate Revocation List</strong>&laquo;&nbsp;, et cette connexion automatique est une vérification de licence/certificat</li>
<li>une ouverture/exécution de flux à partir d&#8217;une connexion avec un compte local (hors domaine) sur les machines concernées par le problème, ne pose pas de souci -&gt; avec un compte local la vérification de licence n&#8217;est pas effectuée</li>
</ul>
<p style="text-align: center;"><img class="size-full wp-image-137 aligncenter" src="http://blog.homsys.com/wordpress/wp-content/uploads/2010/01/pic1.jpg" alt="pic1" width="607" height="310" /></p>
<p>Il semble donc qu&#8217;il s&#8217;agisse soit d&#8217;un problème de domaine utilisateur, soit de proxy/firewall qui refuse la connexion HTTP vers le site de vérification de licence.<br />
Le compte local doit être considéré comme &laquo;&nbsp;suffisamment sûr&nbsp;&raquo; par Microsoft pour ne pas effectuer de vérification de certificat.</p>
<p>En attendant, l&#8217;installation du SP2 de SQL-Server 2005 sur le poste ne change rien au problème ci-dessus.</p>
<h3>Solution/Palliatif :</h3>
<p>Au final <strong>on peut désactiver cette vérification de certificat</strong> en effectuant les opérations suivantes :</p>
<ol>
<li>Dans les options avancées d&#8217;Internet Explorer décocher les cases &laquo;&nbsp;Vérification de révocations des certificats&nbsp;&raquo;</li>
<li>Changer la valeur de la base de registre <span style="font-family: Courier New">[HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing]</span>&lt; de &#8216;<em>23c00</em>&#8216; à &#8216;<em>23e00</em>&#8216;</li>
</ol>
<p>(source : <a href="http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=125768">http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=125768</a> )</p>
<p><strong>Ces manipulations, semblent corriger définitivement le problème</strong> (par contre la première est à effectuer pour chaque utilisateur utilisant le poste). En attente d&#8217;une plus ample utilisation pour confirmation.<br />
Les utilisateurs appartenant à des domaines sont probablement configurés pour faire ces vérifications de certificats par défaut, tandis que les utilisateurs locaux ne les font pas, ce qui peut expliquer les différences que nous constations.</p>
<h3>Sources :</h3>
<ul>
<li><a href="http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=125768">http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=125768</a></li>
<li><a href="http://www.bizbert.com/bizbert/default,date,2007-04-01.aspx">http://www.bizbert.com/bizbert/default,date,2007-04-01.aspx</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/trucs-astuces/ssis-lenteurs-extremes-a-l%e2%80%99ouvertureexecution-de-bids/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utilisation de la tâche de chargement en bloc sous SSIS</title>
		<link>http://blog.homsys.com/trucs-astuces/utilisation-de-la-tache-de-chargement-en-bloc-sous-ssis</link>
		<comments>http://blog.homsys.com/trucs-astuces/utilisation-de-la-tache-de-chargement-en-bloc-sous-ssis#comments</comments>
		<pubDate>Mon, 05 Oct 2009 17:21:00 +0000</pubDate>
		<dc:creator>Alexis Sacksteder</dc:creator>
				<category><![CDATA[Trucs & astuces]]></category>
		<category><![CDATA[bulk insert]]></category>
		<category><![CDATA[chargement en bloc]]></category>
		<category><![CDATA[SSIS]]></category>

		<guid isPermaLink="false">http://blog.homsys.com/?p=43</guid>
		<description><![CDATA[La tâche SSIS (Microsoft SQL Server Integration Services) de chargement en bloc est utile pour charger un fichier plat dans une table d’une base de données dans les 2 cas suivants:

Le chargement d’un fichier volumineux
Le chargement d’un fichier à champs fixes contenant un nombre de colonnes important (ce qui permet un gain de temps non [...]]]></description>
			<content:encoded><![CDATA[<p>La tâche SSIS (Microsoft SQL Server Integration Services) de chargement en bloc est utile pour charger un fichier plat dans une table d’une base de données dans les 2 cas suivants:</p>
<ul>
<li>Le chargement d’un fichier volumineux</li>
<li>Le chargement d’un fichier à champs fixes contenant un nombre de colonnes important (ce qui permet un gain de temps non négligeable en phase de développement)</li>
</ul>
<p style="text-align: center"><img class="aligncenter" style="border-bottom: 0px;border-left: 0px;float: none;margin-left: auto;border-top: 0px;margin-right: auto;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image002_thumb.jpg" border="0" alt="clip_image002" width="153" height="56" /></p>
<p align="center"><span style="color: #808080">Tâche d’insertion en bloc</span></p>
<ul> Son utilisation n’étant pas toujours triviale, voici une description des différentes étapes à suivre :</p>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image002.jpg"></a></p>
<li>1) Création d’une connexion vers le fichier texte à charger</li>
<li>2) Utilisation de la tâche d’insertion en bloc (présente dans le flux de contrôle)</li>
<li>3) Paramétrage de l’onglet Connexion de la tâche d’insertion en bloc</li>
<li>4) Paramétrage de l’onglet Options de la tâche d’insertion en bloc</li>
</ul>
<h5><span style="color: #004080"><span style="text-decoration: underline">Etape 3</span></span><a name="_Toc242270943"><span style="color: #004080"><span style="text-decoration: underline">) Paramétrage de l’onglet Connexion de la tâche d’insertion en bloc</span></span></a><span style="text-decoration: underline">:</span></h5>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image004.jpg"></a></p>
<p style="text-align: center" align="center"><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/image.png"><img class="aligncenter" style="border-bottom: 0px;border-left: 0px;float: none;margin-left: auto;border-top: 0px;margin-right: auto;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/image_thumb.png" border="0" alt="image" width="244" height="237" /></a> <span style="color: #808080">Tâche d’insertion en bloc – Onglet Connexion</span></p>
<ul>
<li><strong><span style="text-decoration: underline">Connexion :</span></strong> Choisir la connexion vers la base de données dans laquelle les données seront chargées.</li>
<li><strong><span style="text-decoration: underline">DestinationTable :</span></strong> Choisir le nom de la table dans laquelle les données seront insérées. La table devra contenir l’ensemble des colonnes présentes dans le fichier.</li>
<li><strong><span style="text-decoration: underline">File :</span></strong> Connexion vers le fichier plat source.</li>
<li><strong><span style="text-decoration: underline">Format :</span></strong> Spécifier la valeur <em>Utiliser un fichier</em> pour charger un fichier dont le format est décrit dans un fichier de format .<em>fmt. </em>Pour les fichiers au format délimité sélectionner le format <em>Spécifier.</em></li>
</ul>
<p>Options pour les fichiers au format champs fixes :</p>
<ul>
<li><strong><span style="text-decoration: underline">FormatFile </span></strong>: Définir le chemin d’accès vers le fichier .fmt décrivant le format du fichier.</li>
</ul>
<p>Options pour les fichiers au format délimité :</p>
<ul>
<li><strong><span style="text-decoration: underline">RowDelimiter :</span></strong> Définir les caractères séparateurs de lignes (en général {CR}{LF} en environnement windows).</li>
<li><strong><span style="text-decoration: underline">ColumnDelimiter  :</span></strong> Définir les caractères séparateurs de colonnes</li>
</ul>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image0025.jpg"><img style="border-bottom: 0px;border-left: 0px;margin-left: 0px;border-top: 0px;margin-right: 0px;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image0025_thumb.jpg" border="0" alt="clip_image002[5]" hspace="12" width="43" height="43" align="left" /></a>Le chemin utilisé vers le fichier de format dans la propriété <em>FormatFile</em> doit être au format UNC (Universal Naming Convention): <a href="//\\NomServeur\Partage">\\NomServeur\Partage</a>.</p>
<h5><a name="_Toc242270944"><span style="text-decoration: underline">Etape 4) Paramétrage de l’onglet Option de la tâche d’insertion en bloc</span></a></h5>
<p style="text-align: center"><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image006.jpg"><img class="aligncenter" style="border-bottom: 0px;border-left: 0px;float: none;margin-left: auto;border-top: 0px;margin-right: auto;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image006_thumb.jpg" border="0" alt="clip_image006" width="244" height="236" /></a></p>
<p align="center"><span style="color: #808080">Tâche d’insertion en bloc – Onglet Options</span></p>
<ul>
<li><strong><span style="text-decoration: underline">Options :</span></strong> Décocher les différents contrôles.</li>
<li><strong><span style="text-decoration: underline">SortedDate :</span></strong> Laisser la valeur non renseignée par défaut.</li>
<li><strong><span style="text-decoration: underline">MaxErrors :</span></strong> Laisser la valeur 0</li>
<li><strong><span style="text-decoration: underline">CadePage :</span></strong> Spécifier la valeur <em>RAW</em></li>
<li><strong><span style="text-decoration: underline">DataFileType :</span></strong> Spécifier la valeur <em>char</em></li>
<li><strong><span style="text-decoration: underline">BatchSize :</span></strong> Laisser la valeur 0</li>
<li><strong><span style="text-decoration: underline">LastRow :</span></strong> Laisser la valeur 0</li>
<li><strong><span style="text-decoration: underline">FirstRow :</span></strong> Laisser la valeur 1 (sauf si le fichier contient un en-tête qui ne doit pas être chargé)</li>
</ul>
<p><a name="_Toc242270944"><span style="text-decoration: underline">Exemple de fichier .fmt:</span></a></p>
<p>Le fichier .<em>fmt</em> permet de décrire le format du fichier à charger. Il liste les colonnes contenues dans le fichier ainsi que leurs caractéristiques. Sa construction est en général rapide à partir d’un document excel décrivant les colonnes du fichier (pour ceux qui le souhaitent, j’ai un exemple de fichier permettant la génération automatique de fichier fmt à partir de formules excel).</p>
<p>Voici un exemple de fichier .fmt  simple :</p>
<blockquote><p>10.0</p>
<p>2</p>
<p>1 SQLCHAR 0 3 &laquo;&nbsp;&nbsp;&raquo;       1 CH1 French_CI_AS</p>
<p>2 SQLCHAR 0 5 &laquo;&nbsp;\r\n&nbsp;&raquo; 2 CH2 French_CI_AS</p></blockquote>
<ul>
<li>La première ligne correspond à la version SQL Server utilisée (10.0 pour la version 2008, 9.0 pour la version 2005, 8.0 pour la version 2000 et 7.0 pour la version SQL 7…)</li>
<li>La deuxième ligne précise le nombre de colonnes présentes dans le fichier</li>
<li>Les lignes suivantes décrivent chaque colonne du fichier en précisant : la position de la colonne, SQLCHAR, 0, le nombre de caractères de la colonne, le numéro de la colonne, le nom de la colonne, la collation (FRENCH_CI_CI_AS).</li>
</ul>
<p><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image0026.jpg"><img style="border-bottom: 0px;border-left: 0px;margin-left: 0px;border-top: 0px;margin-right: 0px;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image0026_thumb.jpg" border="0" alt="clip_image002[6]" hspace="12" width="43" height="43" align="left" /></a>La dernière ligne du fichier doit être un retour à la ligne.</p>
<p>L<a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image001.gif"><img style="border-bottom: 0px;border-left: 0px;margin-left: 0px;border-top: 0px;margin-right: 0px;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/clip_image001_thumb.gif" border="0" alt="clip_image001" width="26" height="31" align="left" /></a>a génération du fichier fmt peut être également effectuée automatiquement à partir de la table cible en utilisant la commande bcp.</p>
<p><a name="_Toc242270944"><span style="text-decoration: underline">Générer un fichier .fmt à partir de la commande bcp:</span></a></p>
<p>Ouvrir une fenêtre d’Invite de commande et exécuter la commande suivante :</p>
<blockquote><p>bcp <em>NomBaseDeDonnées.Schéma.NomTable</em> format nul -c -f</p>
<p>CHGT_BLOC.fmt -T -S <em>NomServeur\NomInstance</em></p></blockquote>
<p style="text-align: center" align="center"><a href="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/image1.png"><img class="aligncenter" style="border-bottom: 0px;border-left: 0px;float: none;margin-left: auto;border-top: 0px;margin-right: auto;border-right: 0px" src="http://blog.homsys.com/wordpress/wp-content/uploads/2009/10/image_thumb1.png" border="0" alt="image" width="244" height="48" /></a> <span style="color: #808080">Exemple d’utilisation de la commande BCP</span></p>
<p><a name="_Toc242270944"><span style="text-decoration: underline">Conclusion:</span></a></p>
<p>Ce composant a l’avantage d’être performant. Il a par contre l’inconvénient d’être difficile à auditer en cas d’erreur. En effet, si le fichier source ne respecte pas strictement le format décrit, le fichier sera rejeté en bloc sans possibilité d’identifier la ligne ou la colonne ayant généré une erreur. Il n’est pas possible également de placer une visionneuse sur les données pour suivre le chargement.</p>
<p>Ce composant n’est donc à utiliser que sur des fichiers dont la structure est connue et bien maîtrisée. Pour des fichiers non volumineux et contenant un nombre de colonnes raisonnables, on préférera utiliser le chargement classique via des sources OLE DB.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.homsys.com/trucs-astuces/utilisation-de-la-tache-de-chargement-en-bloc-sous-ssis/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

