Sdílet prostřednictvím


SqlConnection.PacketSize Vlastnost

Definice

Získá velikost (v bajtech) síťových paketů používaných ke komunikaci s instancí 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

Hodnota vlastnosti

Velikost síťových paketů (v bajtech). Výchozí hodnota je 8000.

Atributy

Příklady

Následující příklad vytvoří SqlConnection, včetně nastavení Packet Size na 512 v připojovací řetězec. Zobrazí PacketSize vlastnosti a ServerVersion v okně konzoly.

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

Poznámky

Pokud aplikace provádí operace hromadného kopírování nebo odesílá nebo přijímá velké množství textových nebo obrazových dat, může velikost paketu větší než výchozí zvýšit efektivitu, protože způsobuje méně operací čtení a zápisu v síti. Pokud aplikace odesílá a přijímá malé množství informací, můžete nastavit velikost paketu na 512 bajtů (pomocí hodnoty Velikost paketu v ), ConnectionStringkterá je dostatečná pro většinu operací přenosu dat. Pro většinu aplikací je nejlepší výchozí velikost paketů.

PacketSize může být hodnota v rozsahu 512 a 32767 bajtů. Pokud je hodnota mimo tento rozsah, vygeneruje se výjimka.

Nastavení výchozí hodnoty na číslo větší než 8000 způsobí, že pakety budou používat multistránkový alokátor v instanci SQL Server místo mnohem efektivnějšího alokátoru SinglePage, což sníží celkovou škálovatelnost SQL Server. Další informace o tom, jak SQL Server používá paměť, najdete v tématu Průvodce architekturou správy paměti.

Platí pro

Viz také