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(); };
[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

Wartość właściwości

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

Atrybuty

Przykłady

Poniższy przykład tworzy SqlConnection, w tym ustawienie Packet Size na 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 dużo danych tekstowych lub obrazów, rozmiar pakietu większy niż domyślny może zwiększyć wydajność, ponieważ powoduje mniejszą liczbę operacji odczytu i zapisu w sieci. Jeśli aplikacja wysyła i odbiera małe ilości informacji, można 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ą w zakresie 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 wydajniejszego alokatora singlePage, zmniejszając ogólną skalowalność SQL Server. Aby uzyskać więcej informacji na temat korzystania z pamięci SQL Server, zobacz Przewodnik po architekturze zarządzania Wemory.

Dotyczy

Zobacz też