SqlConnection.PacketSize Propriedade

Definição

Obtém o tamanho (em bytes) dos pacotes de rede usados para comunicar com uma instância do SQL Server.

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

Valor de Propriedade

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

Atributos

Exemplos

O exemplo seguinte cria um SqlConnection, incluindo definir o Packet Size para 512 na cadeia de ligação. Mostra as PacketSize propriedades e ServerVersion na janela da consola.

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

Observações

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

PacketSize pode ser um valor no intervalo de 512 e 32767 bytes. É gerada uma exceção se o valor estiver fora deste intervalo.

Definir o valor padrão para um número superior a 8000 fará com que os pacotes usem o alocador MultiPage na instância do SQL Server em vez do muito mais eficiente alocador SinglePage, reduzindo a escalabilidade global do SQL Server. Para mais informações sobre como SQL Server utiliza memória, consulte Memory Management Architecture Guide.

Aplica-se a

Ver também