SqlConnection.PacketSize Eigenschap

Definitie

Hiermee haalt u de grootte (in bytes) van netwerkpakketten op die worden gebruikt om te communiceren met een exemplaar van SQL Server.

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

Waarde van eigenschap

De grootte (in bytes) van netwerkpakketten. De standaardwaarde is 8000.

Kenmerken

Voorbeelden

In het volgende voorbeeld wordt een SqlConnection gemaakt, inclusief het instellen van de Packet Size op 512 in de verbindingsreeks. De en ServerVersion eigenschappen worden weergegeven PacketSize in het consolevenster.

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

Opmerkingen

Als een toepassing bulksgewijs kopieerbewerkingen uitvoert of veel tekst- of afbeeldingsgegevens verzendt of ontvangt, kan een pakketgrootte die groter is dan de standaardinstelling, de efficiëntie verbeteren omdat dit minder netwerklees- en schrijfbewerkingen veroorzaakt. Als een toepassing kleine hoeveelheden informatie verzendt en ontvangt, kunt u de pakketgrootte instellen op 512 bytes (met behulp van de waarde Pakketgrootte in de ConnectionString), die voldoende is voor de meeste gegevensoverdrachtbewerkingen. Voor de meeste toepassingen is de standaardpakketgrootte het beste.

PacketSize kan een waarde zijn in het bereik van 512 en 32767 bytes. Er wordt een uitzondering gegenereerd als de waarde buiten dit bereik valt.

Als u de standaardwaarde instelt op een getal dat groter is dan 8000, worden de pakketten de allocator MultiPage gebruikt op het exemplaar van SQL Server in plaats van de veel efficiëntere SinglePage-allocator, waardoor de algehele schaalbaarheid van de SQL Server wordt verminderd. Zie Memory Management Architecture Guide voor meer informatie over hoe SQL Server geheugen gebruikt.

Van toepassing op

Zie ook