SqlConnection.PacketSize 属性   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取用于与 SQL Server 的实例进行通信的网络数据包的大小(以字节为单位)。
public:
 property int PacketSize { int get(); };public int PacketSize { get; }member this.PacketSize : intPublic 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";
    }
}
注解
如果应用程序执行大容量复制操作,或者发送或接收大量文本或图像数据,则大于默认值的数据包大小可能会提高效率,因为它会导致更少的网络读取和写入操作。 如果应用程序发送和接收少量信息,可以使用 () 中的 ConnectionString “数据包大小”值将数据包大小设置为 512 字节,这足以执行大多数数据传输操作。 对于大多数应用程序而言,默认数据包大小为最佳数值。
PacketSize 可以是 512 字节和 32767 字节范围内的值。 如果值超出此范围,将生成异常。
将默认值设置为大于 8000 的数字将导致数据包在 SQL Server 实例上使用 MultiPage 分配器,而不是更高效的 SinglePage 分配器,从而降低SQL Server的整体可伸缩性。 有关 SQL Server 如何使用内存的详细信息,请参阅内存管理体系结构指南。