SqlConnection.PacketSize Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.