Possible to compress SQL Server network traffic?

后端 未结 8 850
囚心锁ツ
囚心锁ツ 2020-12-15 22:22

I have a .NET client that needs to connect to a remote SQL Server over the WAN, is it possible to compress SQL traffic between the client and the server?

I am using

相关标签:
8条回答
  • 2020-12-15 22:25

    As others have said there is no compression built in to the SQL Server TDS Protocol. It's also worth saying that by default there is no encryption either. To enable encryption you must use certificates and specify it in the connection strings.

    The easiest solution to solve both issues is to open up a VPN tunnel with encryption and compression enabled. Simple Microsoft PPTP solves both issues and is easy to setup.

    0 讨论(0)
  • 2020-12-15 22:27

    Check this out : http://www.toonel.net/tcpany.htm

    Btw, I also think that SQL Server itself cannot compress trafic, but, with a network tier within application - you can do the compression there.

    0 讨论(0)
  • 2020-12-15 22:30

    In this case I suggest to use web services or WCF to send the data instead of using connection to the database.

    0 讨论(0)
  • 2020-12-15 22:32

    Looking at the connectionstrings.com here for SQL Server 2008, the database providers do not have some kind of compression scheme...You may need to write a wrapper on a different port, that compresses the data, by using the front end, send the data across that port, from there, compress it, send it across to the remote endpoint, decompress it, and forward it on to the real tcp/ip port where the server is sitting on.

    Usually SQL Server sits on port 1433...

    Since a picture is worth a thousand words....

    +--------+                                             +--------+
    | CLIENT |                                             | SERVER |
    +--------+                                             +--------+
      Port 1234                                          Port 1433 <+--+
         |                                                             |
         |                                                             |
         +={Module}=    <=>    TX/RX    <=>   ={Module}=  -+-----------+
    

    The module will sit there on both ends compressing/decompressing...

    To be quite honest, it sounds like there will be work involved as the Firewall's holes would have to be punctured to allow the compressed data in and out...throw in NAT/SNAT could make things complicated...

    Have a look at this article that I wrote on Codeproject, that code acts as a traffic redirector and could easily be modified to use the compression/decompression scheme..

    0 讨论(0)
  • 2020-12-15 22:32

    I know this question is over a year old but I found myself looking for this so I thought I would share what I found. There is this (quite expensive) software that compresses SQL server traffic. I am testing it at the moment for one of my clients, it works very well, achieving 60% compression ratios on average.

    http://www.nitrosphere.net/store/nitroaccelerator

    It is also compatible with clients that don't have this service installed.

    0 讨论(0)
  • 2020-12-15 22:35

    We are currently also testing the NitroSphere software over our WAN network, and we have a 73% compression rate, and a big speed improvement.

    My opinion is that the software is actually cheap compared to SQL Server licensing, Riverbed devices and MPLS WAN connections. So for sure have a look if you have bandwidth troubles. It also support encryption but we do not plan on using this since everything will stay on internal MPLS network.

    0 讨论(0)
提交回复
热议问题