Partager via


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é

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 définition de sur Packet Size 512 dans le chaîne de connexion. Il affiche les PacketSize propriétés et ServerVersion 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 Taille du paquet dans ), ConnectionStringce 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 32 767 octets. Une exception est générée si la valeur se trouve en dehors de cette plage.

Si vous définissez la valeur par défaut sur un nombre supérieur à 8 000, les paquets utilisent l’allocateur MultiPage sur le instance de SQL Server au lieu de l’allocateur SinglePage beaucoup plus efficace, ce qui réduit la scalabilité globale de l’SQL Server. Pour plus d’informations sur la façon dont SQL Server utilise la mémoire, consultez Le Guide de l’architecture de gestion de la mémoire.

S’applique à

Voir aussi