SqlConnection.PacketSize Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el tamaño en bytes de los paquetes de red utilizados para establecer comunicación con una instancia de SQL Server.
public:
property int PacketSize { int get(); };
public int PacketSize { get; }
member this.PacketSize : int
Public ReadOnly Property PacketSize As Integer
Valor de propiedad
Tamaño de los paquetes de red, en bytes. El valor predeterminado es 8000.
Ejemplos
En el ejemplo siguiente se crea un SqlConnectionobjeto , incluido el valor de Packet Size
en 512 en la cadena de conexión. Muestra las PacketSize propiedades y ServerVersion en la ventana de la consola.
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
OpenSqlConnection();
Console.ReadLine();
}
private static void OpenSqlConnection()
{
string connectionString = GetConnectionString();
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
Console.WriteLine("PacketSize: {0}", connection.PacketSize);
}
}
static private string GetConnectionString()
{
// To avoid storing the connection string in your code,
// you can retrieve it from a configuration file, using the
// System.Configuration.ConfigurationSettings.AppSettings property
return "Data Source=(local);Initial Catalog=AdventureWorks;"
+ "Integrated Security=SSPI;Packet Size=512";
}
}
Comentarios
Si una aplicación realiza operaciones de copia masiva, o envía o recibe una gran cantidad de datos de texto o imagen, un tamaño de paquete mayor que el valor predeterminado puede mejorar la eficacia porque provoca menos operaciones de lectura y escritura de red. Si una aplicación envía y recibe pequeñas cantidades de información, puede establecer el tamaño del paquete en 512 bytes (mediante el valor Tamaño de paquete en ), ConnectionStringlo que es suficiente para la mayoría de las operaciones de transferencia de datos. En la mayoría de las aplicaciones, el tamaño más conveniente de los paquetes es el tamaño predeterminado.
PacketSize puede ser un valor en el intervalo de 512 y 32767 bytes. Se genera una excepción si el valor está fuera de este intervalo.
Establecer el valor predeterminado en un número mayor que 8000 hará que los paquetes usen el asignador MultiPage en la instancia de SQL Server en lugar del asignador singlePage mucho más eficaz, lo que reduce la escalabilidad general del SQL Server. Para obtener más información sobre cómo SQL Server usa memoria, consulte Guía de arquitectura de administración de memoria.