SqlConnection.PacketSize Eigenschaft

Definition

Ruft die Größe (in Byte) von Netzwerkpaketen ab, die für die Kommunikation mit einer Instanz von SQL Server verwendet werden.

public:
 property int PacketSize { int get(); };
[System.Data.DataSysDescription("SqlConnection_PacketSize")]
public int PacketSize { get; }
public int PacketSize { get; }
[<System.Data.DataSysDescription("SqlConnection_PacketSize")>]
member this.PacketSize : int
member this.PacketSize : int
Public ReadOnly Property PacketSize As Integer

Eigenschaftswert

Die Größe (in Byte) von Netzwerkpaketen. Der Standardwert ist 8000.

Attribute

Beispiele

Im folgenden Beispiel wird ein SqlConnection erstellt, einschließlich des Festlegens des Packet Size auf 512 im Verbindungszeichenfolge. Sie zeigt die Eigenschaften und ServerVersion Eigenschaften PacketSize im Konsolenfenster an.

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

Hinweise

Wenn eine Anwendung Massenkopievorgänge ausführt oder viele Text- oder Bilddaten sendet oder empfängt, kann eine Paketgröße größer als der Standardwert die Effizienz verbessern, da weniger Netzwerklese- und Schreibvorgänge verursacht werden. Wenn eine Anwendung kleine Mengen an Informationen sendet und empfängt, können Sie die Paketgröße auf 512 Byte festlegen (mit dem Paketgrößenwert in der ConnectionString), was für die meisten Datenübertragungsvorgänge ausreicht. Für die meisten Anwendungen empfiehlt sich die Standardpaketgröße.

PacketSize kann ein Wert im Bereich von 512 und 32767 Byte sein. Eine Ausnahme wird generiert, wenn sich der Wert außerhalb dieses Bereichs befindet.

Das Festlegen des Standardwerts auf eine Zahl größer als 8000 führt dazu, dass die Pakete den MultiPage-Allocator für die Instanz von SQL Server anstelle des viel effizienteren SinglePage-Allocators verwenden, wodurch die Gesamtskalierbarkeit des SQL Server reduziert wird. Weitere Informationen dazu, wie SQL Server Arbeitsspeicher verwendet, finden Sie im Handbuch zur Memory-Verwaltungsarchitektur.

Gilt für:

Weitere Informationen