2010-03-16 21 views

Respuesta

7

Mirando el connectionstrings.com aquí para SQL Server 2008, los proveedores de la base de datos no tienen algún tipo de esquema de compresión ... Es posible que necesite escribir un contenedor en un puerto diferente, que comprime los datos, utilizando el front-end , envíe los datos a través de ese puerto, desde allí, comprínelos, envíelos al extremo remoto, descomprímalos y reenvíelos al puerto tcp/ip real donde está el servidor.

Por lo general, SQL Server se sienta en el puerto 1433 ...

Ya que una imagen vale más que mil palabras ....

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

El módulo se sentará allí en ambos extremos de compresión/descompresión ..

Para ser sincero, parece que habrá que trabajar ya que los agujeros del cortafuegos deberían perforarse para permitir la entrada y salida de datos comprimidos ... lanzar NAT/SNAT podría complicar las cosas ...

Tener un vistazo a este artículo que escribí en Codeproject, que actúa como un código de redirección de tráfico y podría ser fácilmente modificado para utilizar el esquema de compresión/descompresión ..

+2

wow ... i Espero que algunos chicos en sqlserver lo recojan y creen a) el servicio de complemento sqlserver para recibir/enviar datos comprimidos, b) actualicen sus controladores para enviar/recibir ... me parece una fruta fácil de colgar ... – sonjz

2

No creo que haya compresión implementada en la conexión del servidor SQL; si necesita comprimir datos, debe usar el servicio web y la compresión HTTP cuando se comunique con el servicio.

1

En este caso sugiero usar servicios web o WCF para enviar los datos en lugar de usar la conexión a la base de datos.

+0

Desafortunadamente es una aplicación existente, este tipo de cambio significaría una reescritura :( –

1

mira esto: http://www.toonel.net/tcpany.htm

Por cierto, yo también creo que el propio SQL Server no se puede comprimir tráfico, pero, con un nivel de red dentro de la aplicación - que puede hacer la compresión allí.

+0

¿Esto es algo que ha usado anteriormente? ¿Necesita configurar algo en el servidor también? –

5

Como otros han dicho que no hay compresión incorporada en al protocolo SQL Server TDS. También vale la pena decir que por defecto tampoco hay encriptación. Para habilitar el cifrado, debe usar certificados y especificarlo en las cadenas de conexión.

La solución más fácil para resolver ambos problemas es abrir un túnel VPN con el cifrado y la compresión habilitados. El simple PPTP de Microsoft resuelve ambos problemas y es fácil de configurar.

2

Sé que esta pregunta tiene más de un año pero me encontré buscando esto, así que pensé en compartir lo que encontré. Existe este software (bastante caro) que comprime el tráfico del servidor SQL. Lo estoy probando en este momento para uno de mis clientes, funciona muy bien, logrando un promedio de compresión de 60%.

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

También es compatible con los clientes que no tienen instalado este servicio.

+0

gracias por el realimentación. Lo tendremos en cuenta para el futuro –

1

si desea crear un túnel con compresión y encriptación (puede deshabilitarse para guardar el proceso) sin tener que crear un vpn y también es una plataforma cruzada para su deleite, aquí tiene uno que funciona como servidor cliente y utiliza puertos de escucha toda la vida también funciona como un cortafuegos como un túnel para tener un solo puerto como un canal para administrar conexiones y puertos remotos), esta herramienta existe hace 10 años: http://www.winton.org.uk/zebedee/

Estoy haciendo experimentos para comprimir (a nivel 3) una conexión no encriptada SQL Server y estoy obteniendo buenas ratios ajustando el nivel de compresión, deja que la intención de que los niños pasen grandes consultas posibles datos para el canal limitado ... actualizado en: https://sourceforge.net/projects/zebedee/

1

Actualmente también estamos probando el software NitroSphere en nuestra red WAN, y tenemos una tasa de compresión del 73% y una gran mejora en la velocidad.

Mi opinión es que el software es realmente barato en comparación con las licencias de SQL Server, dispositivos Riverbed y conexiones MPLS WAN. Así que seguro echa un vistazo si tienes problemas de ancho de banda. También es compatible con el cifrado, pero no planeamos usarlo, ya que todo permanecerá en la red MPLS interna.

Cuestiones relacionadas