Partilhar via


SqlConnection.PacketSize Propriedade

Definição

Obtém o tamanho (em bytes) de pacotes de rede usados para se comunicar com uma instância do 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

Valor da propriedade

O tamanho (em bytes) de pacotes de rede. O valor padrão é 8000.

Atributos

Exemplos

O exemplo a seguir cria um SqlConnection, incluindo a configuração de Packet Size como 512 no cadeia de conexão. Ele exibe as PacketSize propriedades e ServerVersion na janela do console.

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

Comentários

Se um aplicativo executa operações de cópia em massa ou envia ou recebe muitos dados de texto ou imagem, um tamanho de pacote maior que o padrão pode melhorar a eficiência porque causa menos operações de leitura e gravação de rede. Se um aplicativo enviar e receber pequenas quantidades de informações, você poderá definir o tamanho do pacote como 512 bytes (usando o valor Tamanho do Pacote no ), o que é suficiente para a ConnectionStringmaioria das operações de transferência de dados. Para a maioria dos aplicativos, o tamanho do pacote padrão é o melhor.

PacketSize pode ser um valor no intervalo de 512 e 32767 bytes. Uma exceção será gerada se o valor estiver fora desse intervalo.

Definir o valor padrão como um número maior que 8000 fará com que os pacotes usem o alocador MultiPage na instância do SQL Server em vez do alocador SinglePage muito mais eficiente, reduzindo a escalabilidade geral do SQL Server. Para obter mais informações sobre como SQL Server usa memória, consulte Guia de arquitetura de gerenciamento de memória.

Aplica-se a

Confira também