SqlConnection.PacketSize Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.