SqlConnection.PacketSize Egenskap

Definition

Hämtar storleken (i byte) på nätverkspaket som används för att kommunicera med en instans av 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

Egenskapsvärde

Storleken (i byte) på nätverkspaket. Standardvärdet är 8000.

Attribut

Exempel

I följande exempel skapas en SqlConnection, inklusive inställningen Packet Size till 512 i reťazec pripojenia. Den visar PacketSize egenskaperna och ServerVersion i konsolfönstret.

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

Kommentarer

Om ett program utför masskopieringsåtgärder, eller skickar eller tar emot massor av text- eller bilddata, kan en paketstorlek som är större än standard förbättra effektiviteten eftersom den orsakar färre läs- och skrivåtgärder i nätverket. Om ett program skickar och tar emot små mängder information kan du ange paketstorleken till 512 byte (med värdet Paketstorlek i ConnectionString), vilket räcker för de flesta dataöverföringsåtgärder. För de flesta program är standardpaketstorleken bäst.

PacketSize kan vara ett värde i intervallet 512 och 32767 byte. Ett undantag genereras om värdet ligger utanför det här intervallet.

Om standardvärdet anges till ett tal som är större än 8 000 kommer paketen att använda MultiPage-allokeraren på instansen av SQL Server i stället för den mycket effektivare SinglePage-allokeraren, vilket minskar den övergripande skalbarheten för SQL Server. Mer information om hur SQL Server använder minne finns i arkitekturguiden Memory Management.

Gäller för

Se även