SqlConnection.PacketSize Właściwość

Definicja

Pobiera rozmiar (w bajtach) pakietów sieciowych używanych do komunikowania się z wystąpieniem 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

Wartość właściwości

Rozmiar (w bajtach) pakietów sieciowych. Wartość domyślna to 8000.

Atrybuty

Przykłady

Poniższy przykład tworzy obiekt SqlConnection, w tym ustawienie wartości Packet Size 512 w parametry połączenia. PacketSize Wyświetla właściwości i ServerVersion w oknie konsoli.

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

Uwagi

Jeśli aplikacja wykonuje operacje kopiowania zbiorczego lub wysyła lub odbiera wiele danych tekstowych lub obrazów, rozmiar pakietu większy niż domyślny może zwiększyć wydajność, ponieważ powoduje mniej operacji odczytu i zapisu w sieci. Jeśli aplikacja wysyła i odbiera małe ilości informacji, możesz ustawić rozmiar pakietu na 512 bajtów (przy użyciu wartości Rozmiar pakietu w elemecie ConnectionString), która jest wystarczająca dla większości operacji transferu danych. W przypadku większości aplikacji domyślny rozmiar pakietu jest najlepszy.

PacketSize może być wartością z zakresu 512 i 32767 bajtów. Wyjątek jest generowany, jeśli wartość znajduje się poza tym zakresem.

Ustawienie wartości domyślnej na liczbę większą niż 8000 spowoduje, że pakiety będą używać alokatora MultiPage w wystąpieniu SQL Server zamiast znacznie bardziej wydajnego alokatora SinglePage, zmniejszając ogólną skalowalność SQL Server. Aby uzyskać więcej informacji na temat sposobu SQL Server używa pamięci, zobacz Przewodnik po architekturze zarządzania pamięcią.

Dotyczy

Zobacz też