Programming

Insérer un fichier dans la table

Comment insérer rapidement un fichier (i.e. binaire) stocké sur le disque dans une table SQL Server ?

Bien évidemment, le compte SQL Server doit avoir les droits d'accès correspondants. Je prend pour cette exemple un fichier "C:\WINDOWS\system32\oembios.bin" dont la taille est 12 Mo. Pour les gros fichiers pensez utiliser FILESTREAM.

Pure SQL : générer une série de dates/temps

Il existe plusieurs exemples de fonction table qui génère une série de dates (temps) entre les 2 valeurs données. Souvent en décisionnel vous avez une table de séries de dates/temps préalablement remplie afin de ne pas générer les séries à la volée.

Par contre, il n'est pas toujours possible s'appuyer sur la fonction utilisateur ainsi que la table des séries peut manquer. Dans ce cas prenez la méthode "pure SQL" suivante.

Supposons, que nous avons une date de début et celle de fin. Voici le code TSQL qui génère la série des dates "mois par mois".

Séquences en SQL Server

Les séquences (compteurs) sont introduits en 2012. Par contre, pour les anciennes versions il vous faut les implémenter.

Implémentation 1

Avantages: une tables pour toutes les séquences
Désavantages: pour éviter les verrouillages lors d'insertions intensives depuis les connexions simultanées il faut l’appeler hors de la transaction

Exporter une table avec la propriété "identity"

Comment exporter une ou plusieurs tables dont une colonne a la propriété "identity" avec l’assistant d'export des données (data export wizard) ?

Démarrez l'assistant sur la BDD source et choisissez les paramètres de connexion de BDD SQL Server source et cible.

Notez que les tables cibles ne doivent pas exister dans la BDD cible car nous les créerons lors d'export.

Export SQL Server table data with identity

Import rapide des données entre 2 serveurs SQL

L'import des données est habituel en décisionnel. La méthode ordinaire ETL est exporter les donnes source en fichier CSV puis le transmettre sur le serveur cible (stockage partagé) et enfin importer ce fichier en bloc (bulk insert ou bcp).

Voici une autre méthode "pure SQL" qui vous permet réduire le temps en 2 environ. Les gars SSIS peuvent essayer le reproduire ;)

Formatage du code Transact SQL

Pour mettre en format les codes Transact SQL il existe plusieurs outils y compris les add-ins pour SSMS.

Mon short-list :

  • Poor Man's T-SQL Formatter. Pas de problèmes particuliers.
  • SQL Tidy. Marche bien sous 2005 et 2008 mais j'ai des problèmes comme "class non registered" sur Windows Server 2008 R2.

Pages

Subscribe to RSS - Programming