SqlConnection.PacketSize Eigenschaft

Definition

Ruft die Größe der Netzwerkpakete in Bytes ab, die zum Kommunizieren mit einer Instanz von SQL Server verwendet werden.

public:
 property int PacketSize { int get(); };
public int PacketSize { get; }
member this.PacketSize : int
Public ReadOnly Property PacketSize As Integer

Eigenschaftswert

Die Größe von Netzwerkpaketen in Bytes. Der Standardwert ist 8000.

Beispiele

Im folgenden Beispiel wird eine SqlConnectionerstellt, einschließlich des Festlegens auf Packet Size 512 in der Verbindungszeichenfolge. Die Eigenschaften und ServerVersion werden im Konsolenfenster angezeigtPacketSize.

using Microsoft.Data.SqlClient;

class Program
{
    static void Main()
    {
        OpenSqlConnection();
        Console.ReadLine();
    }

    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";
    }
}

Hinweise

Wenn eine Anwendung Massenkopiervorgänge ausführt oder viele Text- oder Bilddaten sendet oder empfängt, kann eine Paketgröße, die größer als der Standard ist, die Effizienz verbessern, da sie zu weniger Lese- und Schreibvorgängen im Netzwerk führt. Wenn eine Anwendung kleine Mengen von Informationen sendet und empfängt, können Sie die Paketgröße auf 512 Bytes festlegen (unter Verwendung des Werts Paketgröße in ), ConnectionStringwas für die meisten Datenübertragungsvorgänge ausreichend ist. Für die meisten Anwendungen empfiehlt sich die Standardpaketgröße.

PacketSize kann ein Wert im Bereich von 512 und 32767 Bytes 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 auf der Instanz von SQL Server anstelle des viel effizienteren SinglePage-Zuweisungselements verwenden, was die Gesamtskalierbarkeit der SQL Server verringert. Weitere Informationen dazu, wie SQL Server Arbeitsspeicher verwendet, finden Sie unter Handbuch zur Architektur der Speicherverwaltung.

Gilt für: