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.Gets the size (in bytes) of network packets used to communicate with an instance of SQL Server.

public:
 property int PacketSize { int get(); };
[System.Data.DataSysDescription("SqlConnection_PacketSize")]
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.The size (in bytes) of network packets. El valor predeterminado es 8000.The default value is 8000.

Atributos

Ejemplos

En el ejemplo siguiente se crea un SqlConnection, incluido el establecimiento del Packet Size en 512 en la cadena de conexión.The following example creates a SqlConnection, including setting the Packet Size to 512 in the connection string. Muestra las propiedades PacketSize y ServerVersion en la ventana de la consola.It displays the PacketSize and ServerVersion properties in the console window.

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 gran cantidad de datos de texto o imagen, un tamaño de paquete mayor que el predeterminado puede mejorar la eficacia, ya que provoca menos operaciones de lectura y escritura en la red.If an application performs bulk copy operations, or sends or receives lots of text or image data, a packet size larger than the default may improve efficiency because it causes fewer network read and write operations. Si una aplicación envía y recibe pequeñas cantidades de información, puede establecer el tamaño de paquete en 512 bytes (con el valor de tamaño de paquete en el ConnectionString), que es suficiente para la mayoría de las operaciones de transferencia de datos.If an application sends and receives small amounts of information, you can set the packet size to 512 bytes (using the Packet Size value in the ConnectionString), which is sufficient for most data transfer operations. Para la mayoría de las aplicaciones, el tamaño predeterminado del paquete es el mejor.For most applications, the default packet size is best.

PacketSize puede ser un valor en el intervalo de 512 y 32767 bytes.PacketSize may be a value in the range of 512 and 32767 bytes. Se genera una excepción si el valor está fuera de este intervalo.An exception is generated if the value is outside this range.

Si se establece el valor predeterminado en un número mayor que 8000, los paquetes usarán el asignador de varias páginas en la instancia de SQL Server en lugar del asignador de SinglePage mucho más eficaz, lo que reduce la escalabilidad global del SQL Server.Setting the default value to a number greater than 8000 will cause the packets to use the MultiPage allocator on the instance of SQL Server instead of the much more efficient SinglePage allocator, reducing the overall scalability of the SQL Server. Para obtener más información sobre cómo SQL Server usa la memoria, consulte la Guía de arquitectura de administración de memoria.For more information on how SQL Server uses memory, see Memory Management Architecture Guide.

Se aplica a

Consulte también: