SqlConnection.PacketSize Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает размер сетевых пакетов (в байтах), используемых при взаимодействии с экземпляром 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
Значение свойства
Размер сетевых пакетов (в байтах). Значение по умолчанию — 8000.
- Атрибуты
Примеры
В следующем примере создается SqlConnection, в том числе для параметра Packet Size
значение 512 в строка подключения. В окне консоли отображаются PacketSize свойства и ServerVersion .
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
Комментарии
Если приложение выполняет операции массового копирования, отправляет или получает большой объем текстовых или графических данных, размер пакета, превышающий значение по умолчанию, может повысить эффективность, так как это приводит к меньшему объему операций чтения и записи в сети. Если приложение отправляет и получает небольшие объемы информации, можно задать размер пакета в 512 байт (с помощью значения Размер пакета в ConnectionString), что достаточно для большинства операций передачи данных. Для большинства приложений оптимальным является размер пакета, установленный по умолчанию.
PacketSize может быть значением в диапазоне 512 и 32767 байт. Исключение создается, если значение находится за пределами этого диапазона.
Установка значения по умолчанию числа больше 8000 приведет к тому, что пакеты будут использовать распределитель MultiPage на экземпляре SQL Server вместо гораздо более эффективного распределителя SinglePage, что снижает общую масштабируемость SQL Server. Дополнительные сведения о том, как SQL Server использует память, см. в руководстве по архитектуре управления памятью.