SqlConnection.PacketSize SqlConnection.PacketSize SqlConnection.PacketSize SqlConnection.PacketSize Property

Определение

Получает размер сетевых пакетов (в байтах), используемых при взаимодействии с экземпляром SQL Server.Gets the size (in bytes) of network packets used to communicate with an instance of SQL Server.

public:
 property int PacketSize { int get(); };
[System.Data.DataSysDescription("SqlConnection_PacketSize")]
public int PacketSize { get; }
member this.PacketSize : int
Public ReadOnly Property PacketSize As Integer

Значение свойства

Размер сетевых пакетов (в байтах).The size (in bytes) of network packets. Значение по умолчанию — 8000.The default value is 8000.

Примеры

В следующем примере создается объект SqlConnection, включающий в Packet Size себя присвоение значения 512 в строке подключения.The following example creates a SqlConnection, including setting the Packet Size to 512 in the connection string. Он отображает PacketSize свойства и ServerVersion в окне консоли.It displays the PacketSize and ServerVersion properties in the console window.

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

Комментарии

Если приложение выполняет операции массового копирования или отправляет или получает большое количество текстовых или графических данных, размер пакета, превышающий значение по умолчанию, может повысить эффективность, так как это приводит к меньшему числу операций чтения и записи в сети.If an application performs bulk copy operations, or sends or receives lots of text or image data, a packet size larger than the default may improve efficiency because it causes fewer network read and write operations. Если приложение отправляет и получает небольшие объемы информации, можно задать размер пакета 512 байт (с использованием значения размера пакета в ConnectionString), который достаточно для большинства операций по передаче данных.If an application sends and receives small amounts of information, you can set the packet size to 512 bytes (using the Packet Size value in the ConnectionString), which is sufficient for most data transfer operations. Для большинства приложений оптимальным является размер пакета по умолчанию.For most applications, the default packet size is best.

PacketSizeможет иметь значение в диапазоне от 512 до 32767 байт.PacketSize may be a value in the range of 512 and 32767 bytes. Если значение выходит за пределы этого диапазона, создается исключение.An exception is generated if the value is outside this range.

Установка значения по умолчанию, превышающего 8000, приведет к тому, что пакеты будут использовать многостраничный распределитель в экземпляре SQL Server вместо гораздо более эффективного распределителя SinglePage, что снижает общую масштабируемость SQL Server.Setting the default value to a number greater than 8000 will cause the packets to use the MultiPage allocator on the instance of SQL Server instead of the much more efficient SinglePage allocator, reducing the overall scalability of the SQL Server. Дополнительные сведения о том, как SQL Server использует память, см. в разделе руководство по архитектуре управления памятью.For more information on how SQL Server uses memory, see Memory Management Architecture Guide.

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

Дополнительно