SqlConnection.PacketSize Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SQL Server örneğiyle iletişim kurmak için kullanılan ağ paketlerinin boyutunu (bayt cinsinden) alır.
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
Özellik Değeri
Ağ paketlerinin boyutu (bayt cinsinden). Varsayılan değer 8000'dir.
- Öznitelikler
Örnekler
Aşağıdaki örnek, bağlantı dizesi değerini 512 olarak ayarlamak Packet Size
da dahil olmak üzere bir SqlConnectionoluşturur. konsol penceresinde ve ServerVersion özelliklerini görüntülerPacketSize.
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
Açıklamalar
Bir uygulama toplu kopyalama işlemleri gerçekleştirirse veya çok fazla metin veya görüntü verisi gönderir veya alırsa, ağ okuma ve yazma işlemlerinin daha az olmasına neden olduğundan varsayılandan daha büyük bir paket boyutu verimliliği artırabilir. Bir uygulama az miktarda bilgi gönderir ve alırsa, paket boyutunu 512 bayt olarak ayarlayabilirsiniz (içindeki ConnectionStringPaket Boyutu değerini kullanarak), bu çoğu veri aktarımı işlemi için yeterlidir. Çoğu uygulama için varsayılan paket boyutu en iyisidir.
PacketSize 512 ve 32767 bayt aralığındaki bir değer olabilir. Değer bu aralığın dışındaysa bir özel durum oluşturulur.
Varsayılan değerin 8000'den büyük bir sayıya ayarlanması, paketlerin çok daha verimli SinglePage ayırıcısı yerine SQL Server örneğinde MultiPage ayırıcısını kullanmasına neden olur ve SQL Server genel ölçeklenebilirliğini azaltır. SQL Server belleği nasıl kullandığı hakkında daha fazla bilgi için bkz. Bellek Yönetimi Mimarisi Kılavuzu.