SqlConnection.PacketSize Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene le dimensioni in byte dei pacchetti di rete usati per comunicare con un'istanza di 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
Valore della proprietà
Dimensione in byte dei pacchetti di rete. Il valore predefinito è 8000.
- Attributi
Esempio
Nell'esempio seguente viene creato un SqlConnectionoggetto , inclusa l'impostazione su Packet Size
512 nella stringa di connessione. Visualizza le PacketSize proprietà e ServerVersion nella finestra della 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
Commenti
Se un'applicazione esegue operazioni di copia bulk o invia o riceve un sacco di dati di testo o immagine, una dimensione del pacchetto maggiore del valore predefinito può migliorare l'efficienza perché causa un minor numero di operazioni di lettura e scrittura di rete. Se un'applicazione invia e riceve piccole quantità di informazioni, è possibile impostare le dimensioni del pacchetto su 512 byte (usando il valore Dimensioni pacchetti in ConnectionString), che è sufficiente per la maggior parte delle operazioni di trasferimento dei dati. Per la maggior parte delle applicazioni, le dimensioni predefinite risultano ottimali.
PacketSize può essere un valore nell'intervallo di 512 e 32767 byte. Viene generata un'eccezione se il valore non è compreso in questo intervallo.
L'impostazione del valore predefinito su un numero maggiore di 8000 causerà che i pacchetti usino l'allocatore MultiPage nell'istanza di SQL Server anziché l'allocatore SinglePage molto più efficiente, riducendo la scalabilità complessiva del SQL Server. Per altre informazioni su come SQL Server usa la memoria, vedere Guida all'architettura di gestione della memoria.