Les données que vous cherchez à compresser sont celles envoyées via le câble via TDS . Il y a une compression mineure ici mais loin du type de compression que vous obtenez avec la compression de page / ligne, la compression de sauvegarde ou la compression ColumnStore.
Il a été demandé auparavant:
http://connect.microsoft.com/SQLServer/feedback/details/412131/enable-network-compression-compress-tds-stream
http://connect.microsoft.com/SQLServer/feedback/details/377479/wan-compression-option
Les articles sont toujours ouverts, il y a donc peut-être de l'espoir. Il n'y a aucun moyen de contrôler cela via la chaîne de connexion que j'ai jamais vue.
En attendant, certains produits prétendent le faire, par exemple
http://www.nitrosphere.com/products/nitroaccelerator/
http://toonel.net/tcpany.htm
Vous pouvez également potentiellement configurer le réseau entre votre serveur SQL et les serveurs d'applications pour prendre en charge la compression (et d'autres choses comme le chiffrement), mais vous êtes hors de ma portée ici, et je ne suis pas sûr que cela soit pris en charge par toutes les fonctionnalités de SQL Serveur.
Et pour être honnête, je ne suis pas convaincu que c'est là que vous souhaitez vous concentrer sur l'optimisation. La compression de ce flux peut en fait ralentir les choses et l'emporter sur les avantages d'envoyer moins d'octets. Je préfère dépenser de l'argent sur une meilleure connectivité réseau entre le serveur et le (s) client (s) plutôt que de passer du temps à investir dans ce type de travail et à tester s'il présente des avantages réels - et à ne pouvoir le faire qu'après. De 10/100 à gig fibre optique a un impact connu et prévisible sur les E / S du réseau.
Je ne suis pas sûr du format des octets envoyés sur le fil; vous devrez mettre en place une sorte de renifleur de paquets pour cela (ou peut-être que quelqu'un a déjà fait cela et va sonner)
En ce qui concerne l'impact de la compression, à moins que vous ne soyez sur Fusion-IO ou d'autres solutions de type SSD haut de gamme, vous êtes presque certainement lié aux E / S actuellement, et non lié au CPU. Donc, tant que vous avez une surcharge du processeur, vous devriez voir des performances plus rapides avec la compression activée (mais cela ne changera pas les performances du réseau , car les données ne sont pas compressées avant la transmission). Je dis que ne rien savoir de vos serveurs, de votre application, de vos données ou de vos modèles d'utilisation - vous pourriez très bien avoir un cas de pointe où la compression nuit réellement aux performances, ou où les données ne sont tout simplement pas un bon candidat pour de bons taux de compression.