SqlConnection.PacketSize Propriété

Définition

Obtient la taille (en octets) des paquets réseau permettant de communiquer avec une instance 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

Valeur de propriété

Int32

Taille (en octets) des paquets réseau. La valeur par défaut est 8000.

Attributs

Exemples

L’exemple suivant crée un SqlConnection , y compris la valeur Packet Size 512 dans la chaîne de connexion. Elle affiche les PacketSize ServerVersion Propriétés et dans la fenêtre de console.

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

Remarques

Si une application effectue des opérations de copie en bloc, ou envoie ou reçoit un grand nombre de données de texte ou d’image, une taille de paquet supérieure à la valeur par défaut peut améliorer l’efficacité, car elle entraîne moins d’opérations de lecture et d’écriture sur le réseau. Si une application envoie et reçoit de petites quantités d’informations, vous pouvez définir la taille du paquet sur 512 octets (à l’aide de la valeur de la taille du paquet dans le ConnectionString ), ce qui est suffisant pour la plupart des opérations de transfert de données. Pour la plupart des applications, la taille de paquet par défaut représente la meilleure solution.

PacketSize peut être une valeur comprise entre 512 et 32767 octets. Une exception est générée si la valeur est en dehors de cette plage.

Si vous définissez la valeur par défaut sur un nombre supérieur à 8000, les paquets utilisent l’allocateur multipage sur l’instance de SQL Server au lieu de l’allocateur SinglePage plus efficace, ce qui réduit l’évolutivité globale de la SQL Server. Pour plus d’informations sur la façon dont SQL Server utilise la mémoire, consultez Guide de l' architecture de gestionde la mémoire.

S’applique à

Voir aussi