SqlConnection.PacketSize Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Größe (in Byte) von Netzwerkpaketen ab, die für die Kommunikation mit einer Instanz von SQL Server verwendet werden.
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
Eigenschaftswert
Die Größe (in Byte) von Netzwerkpaketen. Der Standardwert ist 8000.
- Attribute
Beispiele
Im folgenden Beispiel wird ein SqlConnection erstellt, einschließlich des Festlegens des Packet Size auf 512 im Verbindungszeichenfolge. Sie zeigt die Eigenschaften und ServerVersion Eigenschaften PacketSize im Konsolenfenster an.
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
Hinweise
Wenn eine Anwendung Massenkopievorgänge ausführt oder viele Text- oder Bilddaten sendet oder empfängt, kann eine Paketgröße größer als der Standardwert die Effizienz verbessern, da weniger Netzwerklese- und Schreibvorgänge verursacht werden. Wenn eine Anwendung kleine Mengen an Informationen sendet und empfängt, können Sie die Paketgröße auf 512 Byte festlegen (mit dem Paketgrößenwert in der ConnectionString), was für die meisten Datenübertragungsvorgänge ausreicht. Für die meisten Anwendungen empfiehlt sich die Standardpaketgröße.
PacketSize kann ein Wert im Bereich von 512 und 32767 Byte sein. Eine Ausnahme wird generiert, wenn sich der Wert außerhalb dieses Bereichs befindet.
Das Festlegen des Standardwerts auf eine Zahl größer als 8000 führt dazu, dass die Pakete den MultiPage-Allocator für die Instanz von SQL Server anstelle des viel effizienteren SinglePage-Allocators verwenden, wodurch die Gesamtskalierbarkeit des SQL Server reduziert wird. Weitere Informationen dazu, wie SQL Server Arbeitsspeicher verwendet, finden Sie im Handbuch zur Memory-Verwaltungsarchitektur.