SqlConnection.PacketSize Propiedad

Definición

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; }
[System.Data.DataSysDescription("SqlConnection_PacketSize")]
public int PacketSize { get; }
member this.PacketSize : int
[<System.Data.DataSysDescription("SqlConnection_PacketSize")>]
member this.PacketSize : int
Public ReadOnly Property PacketSize As Integer

Valor de propiedad

Int32

Tamaño de los paquetes de red, en bytes. El valor predeterminado es 8000.

Atributos

Ejemplos

En el ejemplo siguiente se crea un SqlConnectionobjeto , incluido el valor de Packet Size en 512 en el cadena de conexión. Muestra las PacketSize propiedades y ServerVersion en la ventana de la consola.

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";
}
Private Sub OpenSqlConnection()
    Dim connectionString As String = GetConnectionString()
    Using connection As New SqlConnection(connectionString)
        connection.Open()
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion)
        Console.WriteLine("PacketSize: {0}", connection.PacketSize)
    End Using
End Sub

Private Function GetConnectionString() As String
    ' 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);Database=AdventureWorks;" _
      & "Integrated Security=SSPI;Packet Size=512;"
End Function

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.

Se aplica a

Consulte también