Поделиться через


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 использует память, см. в руководстве по архитектуре управления памятью.

Применяется к