SSMS
 sql >> Base de données >  >> Database Tools >> SSMS

Existe-t-il un moyen de compresser/zipper directement le résultat d'une requête SQL ?

Exécutez les requêtes à partir de sqlcmd à la place et dirigez la sortie dans un zip de ligne de commande (vous devrez en installer un, voir Qu'est-ce qu'un bon utilitaire tar pour Windows ? ?). Ou vous pouvez utiliser PowerShell qui peut compresser prêt à l'emploi, y compris l'entrée canalisée, voir Compresser les fichiers avec Windows PowerShell puis empaqueter un gadget Windows Vista Sidebar , cela ne nécessite aucun outil supplémentaire car PS est déjà sur votre serveur hôte (bien qu'en deuxième lecture, je pense que les solutions PS, comme dans le lien, nécessitent toujours un fichier dégonflé en premier, ne peuvent pas compresser sur le fichier).

Exemple de requête utilisant sqlcmd et 7zip :

sqlcmd -S <DATABASE> -s <COLUMNSEP> -Q "SELECT ..." | .\7za.exe a -si <FILENAME>

N'oubliez pas d'utiliser le -Q (exécuter la requête et quitter) et non le -q (exécutez la requête) sinon cela ne fonctionnera pas.