• Tuer un service sous Windows 2000

    A moins d’utiliser un outil spécifique, il est difficile, sous Windows 2000 de tuer un processus tournant en service. Si vous avez déjà fait du développement de services (ou utilisé des béta version), vous avez certainement déjà eu cette grande difficulté : comment «killer» un service qui ne réponds plus.
    Sous windows 2003/XP : pas de problème, le gestionnaire de tâches ou taskkill.exe le permettent, par contre dans les versions précédentes, il faut en revenir aux ruses de sioux :

    • ouvrez le gestionnaire de tâches
    • notez le ProcessID (PID) de votre exécutable
    • démarrer une invite de commande
    • exécutez la commande ntsd -p [PID noté précédement]
    • une fois ntsd chargé, tapez la commande q pour quitter
    • le processus va s'arrêter (cela peut prendre quelques instants) en même temps que ntsd

  • Arrrrggggghh

    Il y a des jours où l’on ferait mieux de ne pas se lever. et aujourd’hui semble bien en faire partie.

    Avez-vous déjà essayé de vous y retrouver dans un fichier d’import/d’export Sage, à chercher des données en doublons ? Pour les non informaticiens et/ou les non spécialistes en gestion, Sage est un logiciel de compta utilisé pour les sociétés taille assez conséquente.

    Je viens de passer plus de quatre heures le nez plongés dans des chiffres et des enregistrements pour repérer des pièces comptables (des factures) qui passaient plusieurs fois en compta. Eh bien,le moins que l’on puisse dire, c’est qu’il y a environ 250 milliards de choses plus fun à faire parmi lesquels «aller chez le dentiste», «partir en vacances avec ses beaux-parents», «sauter à pieds joints dans une moissonneuse-batteuse» et j’en passe.

    D’autant plus pénible quand on fini par remarquer que la raison de ces supplices tient en une ligne que vous avez oublié de remettre dans un if et qui ne sert qu’à un cas de test. Comme je le disais en titre :

    Aaaarrrrrgggghhhh…

    [Update] Enfer et damnation ! Ce n’est même pas ce bout de code qui est en cause, c’est une requête écrite dans l’urgence et sur laquelle j’ai oublié une clause where ! d’où un troisième et justifié :

    [Your Wife is a big hippo]

    (pour ceux qui ne comprennent pas, je vous invite à lire Interesting Times de Terry Pratchett) 

  • Scripts Powershell de sauvegarde SQLServer

    Bon, pendant que je m'amusais à casser mon serveur, Powershell RC2 est sorti. A l'occasion de cette release, je vous propose deux petites fonctions Powershell :

    • backup-database dbname rootfolder qui lance le backup d'une base (sur le serveur local) SQL Server 2005 dans un dossier
    • backup-alldatabase rootfolder qui fait le tour des bases non-systèmes et lance un backup-database dessus.

    function backup-database($dbName, $rootFolder)
    {
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") 
    | out-null [System.IO.Directory]::CreateDirectory($rootFolder) | out-null $_srv=New-Object "Microsoft.SqlServer.Management.Smo.Server" "(local)" $_bck=new-object "Microsoft.SqlServer.Management.Smo.Backup" $_bck.Action = 'Database'
    $_fil=new-object "Microsoft.SqlServer.Management.Smo.BackupDeviceItem" $_fil.DeviceType='File' $_fil.Name=[System.IO.Path]::Combine($rootFolder, $dbName + "-"
    + [DateTime]::Today.ToString("yyyy-MM-dd")+".bak") $_bck.Devices.Add($_fil) $_bck.Database=$dbName $_bck.SqlBackup($_srv) write-host "Sauvegarde de " $dbName " terminee" } function backup-alldatabase($rootFolder) { [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo")
    | out-null $_srv=New-Object "Microsoft.SqlServer.Management.Smo.Server" "(local)" $_srv.Databases |
    ?{$_.IsSystemObject -eq 0} |
    %{backup-database $_.Name $rootFolder} }
    Technorati tags: , ,

    del.icio.us tags: , ,

  • Redémarrage à zéro !

    Bon, après -presque- un mois, voici mon blog qui redémarre. De Zéro !!

    Ben oui, les blogs c'est pas important, alors on fait pas de sauvegarde ou plutôt on laisse les sauvegardes sur le même disque que la base originale. Du coup quand le disque lache, on a l'air vraiment stupide...