SqlConnection.PacketSize Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает размер сетевых пакетов (в байтах), используемых при взаимодействии с экземпляром SQL Server.
public:
property int PacketSize { int get(); };
public int PacketSize { get; }
member this.PacketSize : int
Public ReadOnly Property PacketSize As Integer
Значение свойства
Размер сетевых пакетов (в байтах). Значение по умолчанию — 8000.
Примеры
В следующем примере создается SqlConnection, в том числе для параметра Packet Size
значение 512 в строке подключения. В окне консоли отображаются PacketSize свойства и ServerVersion .
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
OpenSqlConnection();
Console.ReadLine();
}
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";
}
}
Комментарии
Если приложение выполняет операции массового копирования, отправляет или получает большой объем текстовых или графических данных, размер пакета, превышающий значение по умолчанию, может повысить эффективность, так как это приводит к меньшему объему операций чтения и записи в сети. Если приложение отправляет и получает небольшие объемы информации, можно задать размер пакета в 512 байт (с помощью значения Размер пакета в ConnectionString), что достаточно для большинства операций передачи данных. Для большинства приложений оптимальным является размер пакета, установленный по умолчанию.
PacketSize может быть значением в диапазоне 512 и 32767 байт. Исключение создается, если значение находится за пределами этого диапазона.
Установка значения по умолчанию числа больше 8000 приведет к тому, что пакеты будут использовать распределитель MultiPage на экземпляре SQL Server вместо гораздо более эффективного распределителя SinglePage, что снижает общую масштабируемость SQL Server. Дополнительные сведения о том, как SQL Server использует память, см. в руководстве по архитектуре управления памятью.