Resumen
La opción de configuración de tamaño de paquete de redde SQL Server se utiliza para establecer el tamaño del paquete (en bytes) que se utilizará cuando se comunica con el servidor SQL. El tamaño se puede establecer en el servidor, así como de algunas de las bibliotecas de lado cliente. El tamaño predeterminado del paquete establecido por Microsoft SQL Server es de 4.096 bytes. Este artículo analiza algunas de las cuestiones que debe tener en cuenta al realizar cambios en esta configuración.
Como se mencionó en la nota siguiente en el tema de libros en pantalla de esta opción, se recomienda que no cambie este valor a menos que esté seguro de que mejorará el rendimiento.
Nota: |
---|
No cambie el tamaño de paquete a menos que esté seguro de que mejorará el rendimiento. Para la mayoría de las aplicaciones, el tamaño del paquete predeterminado es mejor. |
El tamaño de paquete de red en el servidor puede configurarse mediante la opción de configuración de tamaño de paquete de red .
Para obtener más información sobre cómo controlar esta configuración desde una biblioteca de red de cliente, consulte la siguiente tabla:
Biblioteca de cliente |
Opción |
Valor predeterminado |
SSPROP_INIT_PACKETSIZE |
0 (utilizar servidor) |
|
Tamaño del paquete |
8000 |
|
SQL_ATTR_PACKET_SIZE |
Uso del lado del servidor |
|
SSPROP_INIT_PACKETSIZE |
4096 |
|
setPacketSize (tamaño del paquete int) |
8000 |
Nota: la documentación actual de Sqlclient indica incorrectamente el tamaño de paquete predeterminado para las conexiones de Sqlclient como 8192. Esto se corregirá en una actualización futura de libros en pantalla.
El tamaño de paquete de red de una conexión de cliente puede determinarse mediante la supervisión de los eventos de Inicio de sesión de auditoría o el evento ExistingConnection en el analizador de SQL. La columna de datos de Datos enteros contiene el tamaño de paquete de red.
Más información
Los distintos problemas que debe tener en cuenta al cambiar el tamaño de paquete de red se documentan a continuación:
-
Limitación de SSL y TLS: Secure Socket Layer (SSL) y su sustitución, Security(TLS) de la capa de transporte, limitan los fragmentos de datos a 16 KB de tamaño. Esto se documenta en RFC 2246pública (sección 6.2.2) y la implementación actual de la capa de Interfaz de red de SQL (SNI) cumple esta especificación. Utiliza un tamaño de paquete de red es mayor que 16K no es compatible en estos entornos. Esta limitación afecta a los siguientes escenarios:
-
Paquetes SSIS y el recopilador de datos: para obtener más información, consulte el siguiente artículo de Knowledge Base:
Nota: Si MARS está habilitado, el proveedor SMUX agregará un encabezado de 16 bytes al paquete antes del cifrado SSL, reduciendo el tamaño de paquete máximo de red a 16368 bytes.
2006769: error de enlace de comunicación ' mensaje de error se notifica para los paquetes SSIS en servidores SQL configurados para utilizar un tamaño de paquete de red de gran tamaño y cifrado
-
-
SQL Server 2000 y 2005 entornos: consulte el siguiente artículo KB para obtener más información acerca de un problema conocido en estos entornos
-
903002 Un mensaje de error "No se pudo reservar memoria contigua" puede anotarse en el registro de errores de SQL Server cuando los usuarios se conectan a una instancia de SQL Server utilizando un tamaño de paquete de red es mayor que 8.060 bytes.
-