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 utilizzati per comunicare con un'istanza di 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
Valore della proprietà
Dimensioni in byte dei pacchetti di rete. Il valore predefinito è 8000.
- Attributi
Esempio
Nell'esempio seguente viene creato un SqlConnection, inclusa l'impostazione di Packet Size su 512 nel 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 numero elevato di dati di testo o immagine, una dimensione di pacchetto superiore all'impostazione predefinita 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 pacchetto 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 compreso nell'intervallo di 512 e 32767 byte. Se il valore non è compreso in questo intervallo, viene generata un'eccezione.
Se si imposta il valore predefinito su un numero maggiore di 8000, i pacchetti useranno 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 Memory Management Architecture Guide.