Christophe's profileChris @ Work - DBA SQLSe...PhotosBlogLists Tools Help

Chris @ Work - DBA SQLServer

Documents sur SkyDrive
No list items have been added yet.
November 24

Enregistrement détaillé de l’exécution d’un package SSIS : DTLoggedExec

Voici un utilitaire fort utile à qui veut surveiller de manière assez précise l’exécution d’un lot SSIS.

Un petit copier-coller des fonctionnalités sur son site web : http://dtloggedexec.davidemauri.it/default.aspx?AspxAutoDetectCookieSupport=1

Package-DataFlow-Performance-Over-Time Quality-Of-Service-Small

DTLoggedExec has a lot of interesing functionalities:

  • Enable / Disable logging on the fly for any package, just right from the command line
  • Log Variables value
  • Log Values of Properties bound to Expressions
  • In case of error, log all properties along with related connection properties of the erroneous task. This is IDEAL for post-mortem debugging
  • Fully pluggable architecture: decide where to log informations (natively supported: No Log, Console, CSV) Add your own log providers to customize logging
  • Choose which event you want to log
  • DTExec parameters emulation (not yet 100% finished)
  • Compiled to support 32bit and 64bit platforms (32bit and 64bit executables are available in the zipped file)
  • Support for Integration Services 2005 or 2008 through assembly binding
  • DataFlow Profiling: log DataFlow performance data, how many rows each component has processed in how much time
  • Log to CSV
  • Import Log and Profiling Data into SQL Server for further analysis automatically
  • Add parameters support to packages

Cet package a été mis au point par Davide MAURI, MVP SQL Server.

November 22

Type Money : l’argent ne fait pas le bonheur

Au cours des différentes interventions que je suis amenées à faire en tant que consultant, il m’arrive de jeter un œil sur le design de la base de donnée. Histoire de contrôler que les types de données sont bien choisis (pourquoi utiliser un type integer sur 4 octets alors que la valeur maximale ne dépasse pas 10 … et où 1 seul octet aurait suffi). Ok, cela ne fait pas tout, mais reporté sur quelques millions d’enregistrements, sur plusieurs champs, dans plusieurs tables, les performances globales peuvent en souffrir. Et si ce fameux champ est indexé (clé étrangère par exemple), vous détériorez fortement les performances de votre index car au lieu de placer 8060 valeurs (au maximum on oublie la notion de fill factor et de pad_index pour une fois) de 1 octet, vous n’avez plus que 2015 enregistrements dans vos pages de données. Donc des lectures disques supplémentaires pour de simples recherches.

Bref, le choix des types de données est crucial.

Au-delà de ces considérations, il m’arrive de rencontrer le type Money. Autant vous dire que je ne suis pas fan du tout :

image

Hum hum, on dirait que l’on est tronqué à 4 chiffres après la virgule … Ce que nous confirme la doc en ligne :

image

En décimal, nous avons :

image

Quel est l’effet de bord de cette troncature ? Démo :

image

Oups la boulette, 500 ne serait pas égal à 500 ???? On m’aurait menti ? Vérification :

image

Ouf, l’univers de la finance aurait pu voler en éclat avec une telle démonstration et l’économie mondiale s’effondrer... A moins que ce soit déjà fait depuis 1 an … :-)

L’argent ne fait pas le bonheur, c’est bien connu, le type money pourrait faire votre malheur suivant ce que vous lui demandez ! Réfléchissez bien avant de l’utiliser et en cas de doutes, préférez lui un bon vieux type décimal …

November 21

SSIS : Microsoft Connectors for Oracle and Teradata by Attunity

Il devient à présent inutile de présenter l’outil d’ETL (Extraction, Transformation & Loading) de Microsoft. Dans SQL Server 2000, les lots DTS (Data Transformation Services) permettraient déjà un certain nombre de manipulations de donnée au travers d’une interface graphique relativement simple et intuitive.

Depuis SQL Server 2005, DTS a laissé sa place à SSIS (SQL Server Integration Services), pour notre grand bonheur il faut l’avouer. SSIS est bien plus puissant, bien plus performant que son ancêtre.

Cela s’apparente à un véritable “langage” de programmation, même si c’est un peu exagéré de dire cela. La possibilité de créer des boucles, des conditions, des variables au niveau du control flow, finalement la “structure” de notre programme, et des manipulations de données au sein du data flow. On peut aussi réagir à des évènements grâce aux events handlers (par exemple une gestion d’erreur …).

Le dataflow va, dans la quasi-totalité des cas, contenir une source de donnée, une ou plusieurs transformations et une destination.

Bref, venons-en au fait.

Il est possible de travailler avec n’importe quelle source et destination de donnée à partir du moment où il existe un driver permettant d’y accéder. Bien entendu les produits Microsoft (SQL Server, Excel, Access – attention toutefois aux problèmes 32/64 bits ….) sont présents mais il est possible d’accéder à des fichiers texte, des bases Oracle, DB2, Teradata et tout ce qu’ODBC/OLEDB vous autorise.

Un petit billet aujourd’hui pour parler spécifiquement des drivers Oracle et Teradata fournis par Attunity, téléchargeable chez Microsoft ici.

Ces drivers permettent de gains de performances spectaculaires sur l’import ou l’export de données vers ces plateformes. Cela fonctionne aussi en 64 bits … Pas de raisons donc de s’en priver !

November 11

VHD Attach

Si vous travaillez fréquemment avec Virtuel PC sur Windows 7 ou bien avec Hyper-V, vous avez probablement presté contre le fait de ne pas pouvoir accéder plus facilement au contenu d’un fichier VHD.

En effet il fallait aller dans le gestionnaire de disques pour attacher le VHD. Un peu long !

Un petit logiciel, dans sa version 1.0 permet de gagner du temps : VHD Attach.

Un simple click droit sur le fichier et un menu contextuel vous facilite la vie …

Screenshot

DBA Online vous propose un DBA virtuel pour administrer à distance SQL Server

Séance auto-promotion et publicité …

DBA Online (www.dba-online.fr) vous propose une solution de DBA virtuel pour administrer à distance vos serveurs SQL.

TPE/PME/PMI qui ne voulez pas investir dans un architecte système et bases de données à plein temps, cette solution vous permet de bénéficier des services de personnes qualifiées et certifiées qui vont surveiller votre système, les performances globales, les tâches planifiés, etc ...